欢迎光临散文网 会员登陆 & 注册

数据结构拓展习题:二叉树删除以根节点值为x的所有子树

2022-05-27 22:15 作者:回到唐朝当少爷  | 我要投稿

题目:设计算法,对于二叉树T中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。

void Destroy(BiTree &T)

{

       if (T != NULL)

       {

              Destroy(T->lchild);//销毁左子树

              Destroy(T->rchild);//销毁右子树

              free(T);//销毁根结点

              T = NULL;

       }

}

void FindNode(BiTree &T, TElemType x)

{

       if (T == NULL)

              return;

       if (T->data == x)//如果发现该结点为所要销毁的结点

       {

              Destroy(T);//销毁它

              return;

       }

       FindNode(T->lchild, x);//看左子树是否存在要被销毁的结点

       FindNode(T->rchild, x);//看右子树是否存在要被销毁的结点

}


数据结构拓展习题:二叉树删除以根节点值为x的所有子树的评论 (共 条)

分享到微博请遵守国家法律