标题:二叉树中插入问题???
取消只看楼主
物极必反
Rank: 2
等 级:论坛游民
帖 子:54
专家分:35
注 册:2011-10-3
结帖率:93.75%
 问题点数:0 回复次数:0 
二叉树中插入问题???
程序代码:
 void InsertChild(SqBiTree T,TElemType p,int LR,SqBiTree c)

 { /* 初始条件:二叉树T存在,p是T中某个结点的值,LR为0或1,非空二叉树c与T不相交且右子树为空 */
   /* 操作结果: 根据LR为0或1,插入c为T中p结点的左或右子树。p结点的原有左或右子树则成为c的右子树 */
   int j,k,i=0;
   for(j=0;j<(int)pow(2,BiTreeDepth(T))-1;j++) /* 查找p的序号 */
     if(T[j]==p) /* j为p的序号 */
       break;
   k=2*j+1+LR; /* k为p的左或右孩子的序号 */
   if(T[k]!=Nil) /* p原来的左或右孩子不空 */
     Move(T,k,T,2*k+2); /* 把从T的k结点开始的子树移为从k结点的右子树开始的子树 */
   Move(c,i,T,k); /* 把从c的i结点开始的子树移为从T的k结点开始的子树 */

 }

如果这样插入的话,T树的左/右孩子不就随着c树插入到T树中了吗??

搜索更多相关主题的帖子: 二叉树 
2012-11-21 12:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-387787-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.243477 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved