| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1930 人关注过本帖, 3 人收藏
标题:[求助]小女求助各位朋友
只看楼主 加入收藏
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1854
专家分:1868
注 册:2004-5-30
结帖率:56.76%
收藏(3)
 问题点数:0 回复次数:14 
[求助]小女求助各位朋友

void Inorder (BTreeNode*BT)

{ if(BT!=NULL){

Inorder(BT-->left);//中序遍历左子树

cout<<BT-->dada<<' '//访问根结点

Inorder (BT-->right);//中序遍历右子树

}

}

这是对二岔树进行中序遍历的递归算法,大家能不能帮忙写出非递归算法?

搜索更多相关主题的帖子: 朋友 
2004-06-08 12:11
寒星
Rank: 1
等 级:新手上路
帖 子:455
专家分:0
注 册:2004-6-7
收藏
得分:0 

上课的时候教材上都有的

只是现在忘了

也是左子树,右子树

没有调用函数


http://www. 版主位置空缺
2004-06-08 13:59
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 

楼上的,你们都上大几了啊,

我才上大一,看不懂!


2004-06-08 18:29
jiely
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2004-5-15
收藏
得分:0 

void Inorder(JD *bt)

{

int i=0;

JD *p,*S[M];

p=bt;

do{while(p!=NULL)

{S[i++]=p;

p=p->lchild;}

if(i>=0)

{

p=S[--i];printf("%d\n",p->data);

p=p->rchild;

}

}while(!p)

}

凭记忆写的,不知道对不..........


我的爱好:C和数据库!正在学VC++ 我的QQ:345895839,有共同爱好的加我!期待着与你共同进步!
2004-06-08 20:49
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1854
专家分:1868
注 册:2004-5-30
收藏
得分:0 

版主,有正确答案吗?我觉得你是肯定没有问题的!!!

除了我在研究,还有一群菜鸟等着答案呢!

帮帮忙了,再此谢过!(可怜)


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-06-08 21:55
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
收藏
得分:0 
void Inorder (BTreeNode bt)
{ BTreeNode stack[STACKSIZE],*s;
 int top=0;
 if(bt==NULL)return; //树空退出
 stack[top]=bt;  //根结点入栈
 while(top&gt;=0)  //栈非空即未遍历完就继续
 { s=stack[top];
  while(s-&gt;left!=NULL) //找到最左面的结点,并依次进栈
  { stack[++top]=s-&gt;left;
   s=s-&gt;left;
  }
  while(top&gt;=0)
  { cout&lt;&lt;s-&gt;data&lt;&lt;' ';  //输出该结点
   top--;
   if(s-&gt;right!=NULL)  //如果该结点有右结点,右结点入栈并寻找该结点的最左结点
   { stack[++top]=s-&gt;right;
    break;
   }
   s=stack[top]; //否则继续输出栈中结点
  }
 }
}

我的主页 http://www.
2004-06-09 11:05
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1854
专家分:1868
注 册:2004-5-30
收藏
得分:0 
谢谢版主及各位热心的朋友!

感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-06-09 18:04
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1854
专家分:1868
注 册:2004-5-30
收藏
得分:0 

有一点不明白哦,既然是中序遍历,

为何树根结点先入栈呢?烦恼解答啊!


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-06-10 11:52
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
其实对于算法问题根本不必拘泥于形式,实际中运用中最快最优即最好!

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-06-10 12:00
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1854
专家分:1868
注 册:2004-5-30
收藏
得分:0 

树的遍历分先序,中序,后序与安层遍历,每种算法都是有区别的,希望楼上的朋友明白哦!而且在下现在是要将题目做出来,考试过关是最实际的!


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-06-10 12:07
快速回复:[求助]小女求助各位朋友
数据加载中...
 
   



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

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