最佳回答
q=p;//记下P的位置给q后面用于比较。
s=p->lchild;//将p的左子树给S。
while(s->rchild){q=s;s=s->rchild;}//走到S结点的右尽头。因为是排序树,只有右尽头的结点才在p的左子树和右子树之间来充当将被删除的p结点。
p->data=s->data;这里找到了结点,将它代替P,即将P结点删除了。
if(q!=p)q->rchild=s->lchild;//这里意思是上面循环至少运行过一次,我们找到的结点s可能有左结点,就将左结点充当s,即q的右结点,s的左结点可以为空
else q->lchild=s->lchild;//这里意思是上面循环一次都没运行,即p的左子树上没有右子树。则将s的左结点接在q的左结点上
解释到此,希望你能明白
最新回答共有2条回答
-
2026-04-06 21:56:51优雅的鱼
回复q=p;//记下P的位置给q后面用于比较。 s=p->lchild;//将p的左子树给S。 while(s->rchild){q=s;s=s->rchild;}//走到S结点的右尽头。因为是排序树,只有右尽头的结点才在p的左子树和右子树之间来充当将被删除的p结点。 p->data=s->data;这里找到了结点,将它代替P,即将P结点删除了。 if(q!=p)q->rchild=s->lchild;//这里意思是上面循环至少运行过一次,我们找到的结点s可能有左结点,就将左结点充当s,即q的右结点,s的左结点可以为空 else q->lchild=s->lchild;//这里意思是上面循环一次都没运行,即p的左子树上没有右子树。则将s的左结点接在q的左结点上 解释到此,希望你能明白
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
