二叉排序树删除结点问题
比如只有一个结点,左子树为空, s=p;p=p-r;free(s),这样是怎么实现把右子树的值复制到要删除的那个结点上
回复 2楼 林月儿
int Delete(BiTree &p) {
BiTree q, s;
if( !p->lchild&&!p->rchild )
p=NULL;
else if(!p->lchild)
{
q=p;
p=p->rchild;
free(q);
}
else if(!p->rchild)
{
q=p;
p=p->lchild;
free(q);
}
像这样,p的指向是改变了,但原来的p地址不是给q了么,这样子有把P这个结点删除么