| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 508 人关注过本帖
标题:二叉树中插入问题???
只看楼主 加入收藏
物极必反
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
快速回复:二叉树中插入问题???
数据加载中...
 
   



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

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