肝胆相照论坛

 

 

肝胆相照论坛 论坛 电脑技术 存档 1 请问数据结构里的一个小问题,C语言的
查看: 328|回复: 6

请问数据结构里的一个小问题,C语言的 [复制链接]

Rank: 10Rank: 10Rank: 10

现金
19550 元 
精华
帖子
9448 
注册时间
2002-8-26 
最后登录
2019-8-15 

版主勋章 电脑大牛

1
发表于 2005-1-10 06:07
请问已知二叉树的存储结构为二叉链表,阅读下列,说明算法功能 int layer(bitree r,datatype x) { if (!r) return -1; if (r-->data=x) return 1; else if((i=layer(r->lchild,x))!=-1) return i+1; else if ((i=layer(r->rchild,x))!=-1) return i+1; else return -1; }

这句if((i=layer(r->lchild,x))!=-1)哪位帮忙解释一下

肝病,只
要好好保养,勤勤恳恳的修养锻炼,再重的病也能好起来,推广传统的养生观念,全国的肝病医疗费可以减少一半,QQ:183175942

Rank: 4

现金
1687 元 
精华
帖子
130 
注册时间
2004-12-2 
最后登录
2005-12-16 
2
发表于 2005-1-10 08:53

这个算法应该是寻找某个数值在二叉树的第几层吧

三年没有碰C语言了

不知道说得对不对

Rank: 4

现金
1687 元 
精华
帖子
130 
注册时间
2004-12-2 
最后登录
2005-12-16 
3
发表于 2005-1-10 08:55

if((i=layer(r->lchild,x))!=-1)

这句话是寻找某个节点的左子树里有没有数据X存在

Rank: 10Rank: 10Rank: 10

现金
19550 元 
精华
帖子
9448 
注册时间
2002-8-26 
最后登录
2019-8-15 

版主勋章 电脑大牛

4
发表于 2005-1-11 07:48
谢谢您了
肝病,只
要好好保养,勤勤恳恳的修养锻炼,再重的病也能好起来,推广传统的养生观念,全国的肝病医疗费可以减少一半,QQ:183175942

Rank: 4

现金
815 元 
精华
帖子
331 
注册时间
2004-4-17 
最后登录
2006-10-9 
5
发表于 2005-1-12 06:19
以下是引用ailorxu在2005-1-9 18:55:24的发言:

if((i=layer(r->lchild,x))!=-1)

这句话是寻找某个节点的左子树里有没有数据X存在

我觉得该补充一点,layer返回x在r的左子树中的层数(没找到x则返回-1),赋值给i,然后判断是否找到x。
失败是成功的妈妈。 别灰心,生活有你更精彩!

Rank: 10Rank: 10Rank: 10

现金
19550 元 
精华
帖子
9448 
注册时间
2002-8-26 
最后登录
2019-8-15 

版主勋章 电脑大牛

6
发表于 2005-1-12 07:58
谢谢了,希望考试可以通过

[此贴子已经被作者于2005-1-11 18:01:01编辑过]


肝病,只
要好好保养,勤勤恳恳的修养锻炼,再重的病也能好起来,推广传统的养生观念,全国的肝病医疗费可以减少一半,QQ:183175942

Rank: 4

现金
1687 元 
精华
帖子
130 
注册时间
2004-12-2 
最后登录
2005-12-16 
7
发表于 2005-1-12 08:13

什么考试阿

期末考试还是考研阿

‹ 上一主题|下一主题

肝胆相照论坛

GMT+8, 2024-11-25 11:52 , Processed in 0.014402 second(s), 12 queries , Gzip On.

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc.