1、本篇补全红黑树的其他方法
find();
findMin();
findMax();
isEmpty();
makeEmpty();
2、上代码
#include <iostream>
using namespace std;
template < class T>
class RedBlackTree; //红黑树
template <class T>
class RedBlackTreeNode; //红黑树节点
template <class T>
class RedBlackTree
{
typedef RedBlackTreeNode<T> Node;
public:
enum { BLACK, RED };
RedBlackTree(const T &negInfo); //构造函数主要初始化私有成员 header 和 nullNode
~RedBlackTree();
void insert(const T & x); //红黑树插入元素
void rotateWithLeftChild(Node * & k2) const; //带着左孩子旋转即向右转 k2是旋转前的根节点
void rotateWithRightChild(Node * &k1) const; //带着右孩子旋转即向左转 k1是旋转前的根节点
void doubleRotateWithLeftChild(Node * &k3) const;//带着左孩子向右双旋转
void doubleRotateWithRightChild(Node