AcWing
  • 首页
  • 题库
  • 题解
  • 分享
  • 问答
  • 活动
  • 应用
  • 吐槽
  • 登录/注册

数据结构复习-二叉排序树

作者: 作者的头像   nxdxml ,  2021-01-09 19:00:46 ,  阅读 47


0


// 二叉排序树

BSTNode *BST_Search(BiTree T, ElemType key){ // 非递归,查找
    while(T != NULL && key != T -> data){
        if(key < T -> data) T = T -> lchild;
        else T = T -> rchild;
    }
    return T;
}

int BST_Insert(BiTree &T, KeyType k){ // 插入
    if(T == NULL){
        T = (BiTree)malloc(sizeof(BSTNode));
        T -> data = k;
        T -> lchild = T -> rchild = NULL;
        return 1; // 插入成功
    }
    else if(k == T -> data) return 0; // 存在
    else if(k < T -> data) return BST_Insert(T -> lchild, k);
    else return BST_Insert(T -> rchild, k);
}

// 删除
// 删除节点仅有一个子树时,直接用子树填上去
// 如果左右树都不空,*用右边子树中序遍历的第一个填上去

0 评论

你确定删除吗?

© 2018-2021 AcWing 版权所有  |  京ICP备17053197号-1
联系我们  |  常见问题
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息