博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉搜索树(排序二叉树)
阅读量:6185 次
发布时间:2019-06-21

本文共 1543 字,大约阅读时间需要 5 分钟。

 

完整代码:插入,查找,删除

struct BST {    int val;    BST *lch, *rch;    BST *insert(BST *p, int x) {        if (p == NULL)  {            BST *t = new BST;				//new出来的不是指向NULL的            t->val = x;            t->lch = t->rch = NULL;            return t;        }        if (x <= p->val)    p->lch = insert (p->lch, x);        else    p->rch = insert (p->rch, x);        return p;    }    bool find(BST *p, int x)   {        if (x == p->val)    return true;        else if (p == NULL) return false;        else if (x <= p->val)    {            return find (p->lch, x);        }        else    {            return find (p->rch, x);        }    }    BST *remove(BST *p, int x)  {			//返回被删除后的新结点的地址        if (p == NULL)  return NULL;        else if (x <= p->val)   p->lch = remove (p->lch, x);        else if (x > p->val)    p->rch = remove (p->rch, x);        else if (p->lch == NULL)    {		//如果需要删除的结点没有左儿子,那么把右儿子提上去            BST *t = p->rch;            delete p;            return t;        }        else if (p->lch->rch == NULL)   {	//如果需要删除的结点的左儿子没有右儿子,那么把左儿子提上去            BST *t = p->lch;            t->rch = p->rch;            delete p;            return t;        }        else    {							//以上两种情况不满足,把左儿子子孙中值最大的结点提上去            BST *t = p->lch;            while (t->rch->rch != NULL) t = t->rch;            BST *r = t->rch;            t->rch = r->lch;            r->lch = p->lch;            r->rch = p->rch;            delete p;            return r;        }        return p;    }}bst;

  

转载于:https://www.cnblogs.com/Running-Time/p/5011529.html

你可能感兴趣的文章
VIM编辑器的简单应用
查看>>
Django 01
查看>>
域名跳转
查看>>
访问控制
查看>>
两人一组,注册账号密码,注册COOKIE是否能够登陆?
查看>>
Object-C中使用NSKeyedArchiver归档(将各种类型的对象存储到文件中)
查看>>
一位大牛整理的python资源
查看>>
设计模式 单例模式(Singleton)
查看>>
jqurey 隐藏
查看>>
Python-编码(base64,md5)
查看>>
Cisco Eigrp SIA 理解
查看>>
正则表达式学习
查看>>
Ceph分布式存储更换磁盘操作步骤
查看>>
使用windows server 2008创建DHCP服务器
查看>>
TextView预渲染研究
查看>>
【迁移2016-07-02 20:46】Tomcat(一)-重定向Web应用程序目录
查看>>
MySQL数据库的下载及安装教程
查看>>
转 Library cache内部机制详解
查看>>
[每日一题]11gOCP 1z0-052 :2013-09-11 MGR_ROLE role..........................................A66
查看>>
我的友情链接
查看>>