c语言贪吃蛇-项目实战
贪吃蛇游戏代码
这是一个红黑树大框架, 红黑树之中比较重要的就是旋转操作。 在本文件中, 两个旋转操作都包含在内。 接口主要有插入, 寻找, 判断是否为一棵红黑树等等的代码。 一共五百行左右。 学习map和set的友友们如果对红黑树的底层框架很模糊。 可以借鉴一下本文件中的红黑树。 虽然有些地方写的不够全不够好, 但是基本的迭代器功能都已经实现。其实红黑树的学习主要就是学习它的插入, 最重要的就是根据红黑树的插入操作了解红黑树是如何进行旋转的, 可以根据情况将红黑树的旋转分为三个情况。具体的情况分析, 文件中都进行了讨论。 相较于AVL树的旋转, 红黑树的旋转要更加简单一些。 思路不变, 但是不用像AVL树一样检查平衡因子。另外一个难点就是红黑树的迭代器的自增自减操作, 红黑树的自增操作需要用到二叉树的非递归遍历思想,主要是一个非递归的中序遍历。 看不懂的友友可以去力扣搜一搜相应的二叉树非递归题目。做一做, 就可以很好的理解红黑树迭代器的加加和减减。 只要懂了加加, 减减也就懂了。 另外, 带头红黑树的加加和减减和普通红黑树的注意点有些不同。 要注意的是本文件实现的是带头的红黑树。