数据结构二叉排序树删除结点操作

发布时间:2019-08-01 02:13:01

int Delete(BiTree * p)

{

BiTree q, s;

if ((*p)->lchild == NULL)

{

q = *p;                                                     //这里是怎么接上去的,都不知道上一个结点???

*p = (*p)->rchild;

delete q;

}

int BST_Delete(BiTree * T, int key)

{

if (!(*T))

{

return 0;

}

else

{

if (key == (*T)->data)

{

return Delete(T);                      //在这里调用的

}

else if (key < (*T)->data)

{

return BST_Delete(&(*T)->lchild, key);          //递归 

}

else

{

return BST_Delete(&(*T)->rchild, key);        //递归

}

}

}

求解答???谢谢。

推荐回答

还没有选出推荐答案,请稍候访问或查看其他回答!
以上问题属网友观点,不代表本站立场,仅供参考!