zoukankan      html  css  js  c++  java
  • 二叉搜索树(排序二叉树)

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

    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;
    

      

    编译人生,运行世界!
  • 相关阅读:
    k8s资源清单创建pod
    Nginx的应用之动静分离
    Nginx的应用之虚拟主机
    Nginx的应用之安装配置
    k8s 基于NFS部署storageclass pv自动供给
    Helm入门
    k8s Pod的自动水平伸缩(HPA)
    k8s资源指标API及metrics-server资源监控
    k8s的资源限制及资源请求
    k8s的高级调度方式
  • 原文地址:https://www.cnblogs.com/Running-Time/p/5011529.html
Copyright © 2011-2022 走看看