二叉排序树的实现
2021-02-12 04:17
标签:== strong nod clu int 出现 遇到 mic 调用 1,伪代码部分 注意事项: 1,在实现删除key的操作时,需要考虑删除节点的子节点是否为空,空则直接删除,不空则要将子节点的值再次插入到直接删除后的原二叉树中,如果直接删除,会导致删了一个,子节点跟着也被删了。 2,删除时,要先查找key值再二叉树中是否出现。 2,代码展示 2,运行截图 二叉排序树的实现 标签:== strong nod clu int 出现 遇到 mic 调用 原文地址:https://www.cnblogs.com/xzxzxzx/p/12733022.htmlBSTree SearchBST(BSTree T,int key)
{
if (!T||key==T->date) return T;
else if(key
void InsertBST(BSTree &T,int e)
{
新建一个二叉树 S;
if (!T) S = new BSTNode S->data = e 令其左右孩子为空;
else if (e>T->data) InsertBST(T->rchild,e) //递归
else InsertBST(T->lchild,e);
}
void CreatBST(BSTree &T)
{
T=NULL; //令根节点为空
int a[100];
cin
void DeleteBST(BSTree &T,int key) {
BSTree p;
p = SearchBST(T,key) //调用search函数
if (p->lchild==NULL&&p->rchild==NULL) T=p=NULL;
else BSTree T1; T1=p; T=p=NULL;
While(T1!=NULL) InsertBST(T,T1->lchild->data) InsertBST(T,T1->child->data)
}
#include
上一篇:4.K均值算法--应用