【数据结构】红黑树的实现
发布时间:2021-04-03 10:35:11 所属栏目:安全 来源:网络整理
导读:Talk is cheap,show me the code. 红黑树真是抄了好久才抄完,要是有时间真应该重新写一下。 #ifndef _RED_BLACK_TREE_HPP_#define _RED_BLACK_TREE_HPP_#include iomanip#include iostreamusing namespace std;enum RBTColor{RED,BLACK};template class Tcl
#include <iostream> #include "RBTree.h" using namespace std; int main() { int a[]= {200,250,122,77,75,80,99,70,110,120,300}; int i; int ilen = (sizeof(a)) / (sizeof(a[0])) ; RBTree<int>* tree=new RBTree<int>(); for(i=0; i<ilen; i++) { tree->insert(a[i]); } cout<<"depth of 110 "<<tree->depth(110)<<endl; cout << "前序遍历: "; tree->preOrder(); cout << "n中序遍历: "; tree->inOrder(); cout << "n后序遍历: "; tree->postOrder(); cout << endl; // cout << "最小值: " << tree->minimum() << endl; // cout << "最大值: " << tree->maximum() << endl; cout << "树的详细信息: " << endl; tree->print(); tree->deleteLessThan(100); cout<<"n=====After delete node less than 100========="; cout << "n中序遍历: "; tree->inOrder(); cout << "n"; tree->destroy(); RBTree<int>* tree1=new RBTree<int>(); for(i=0; i<ilen; i++) { tree1->insert(a[i]); } cout<<"n=====After delete node larger than 200========="; cout << "n中序遍历: "; tree1->deleteLargerThan(200); tree1->inOrder(); cout << "n"; RBTree<int>* tree2=new RBTree<int>(); for(i=0; i<ilen; i++) { tree2->insert(a[i]); } cout<<"n=====After delete node 100 - 200========="; cout << "n中序遍历: "; tree2->deleteBetween(100,200); tree2->inOrder(); cout << "n"; return 0; }print?函数感觉写的很好?。。。 (编辑:ASP站长) 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
相关内容
未处理完善
-
无相关信息
最新更新