加入收藏 | 设为首页 | 会员中心 | 我要投稿 51站长网 (https://www.51zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
站内搜索:
当前位置: 首页 > 服务器 > 安全 > 正文

【数据结构】红黑树的实现

发布时间: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,我们将及时予以处理。

相关内容
未处理完善
    无相关信息
未处理完善