红黑树_ C++模板实现

时间:2017-11-28 16:52:23
【文件属性】:

文件名称:红黑树_ C++模板实现

文件大小:11KB

文件格式:CPP

更新时间:2017-11-28 16:52:23

红黑树 算法导论 C++ 模板实现

详细的红黑树C++模板实现,调试后运行正确。 template class RBTree { private: static node *nil;//哨兵,静态成员,被整个RBTree类所共有 node *root; RBTree(const RBTree&);//禁止复制构造 RBTree operator=(const RBTree&);//禁止赋值 void leftRotate(node*);//左旋 void rightRotate(node*);//右旋 void insertFixup(node*);//插入节点后红黑性质调整 void eraseFixup(node*);//删除节点后红黑性质调整 public: RBTree():root(nil) { root->parent = nil; root->left = nil; root->right = nil; root->color = black; } RBTree(node *rbt):root(rbt){}//复制构造函数,用于创建子红黑树对象 void insert(const T&);//插入 void create();//创建红黑树 void erase(const T&);//删除 node* locate(const T&)const;//查找 node* minMum()const;//最小值 node* maxMum()const;//最大值 node* successor(const T&)const;//找后继 node* predecessor(const T&)const;//前驱 void preTraversal()const;//先根遍历 void inTraversal()const;//中根遍历 void destroy();//销毁红黑树 bool empty()const{return root == nil;}//判空 };


网友评论