| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 709 人关注过本帖
标题:[求助]二叉树查找问题
只看楼主 加入收藏
sccdyc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-4-23
收藏
 问题点数:0 回复次数:1 
[求助]二叉树查找问题

BTNode* FindNode(BTNode *b,ElemType x)//找到值为x的节点并返回
{


if(!b)//如果b不存在
{
return NULL; //返回未找到,并且跳出函数

}
else //否则(b存在的情况)
{

if(b->data==x) //如果找到了
{
return b; //返回b的地址,并且跳出函数
}
else //否则(继续查找)
{
FindNode(b->lchild,x);//用函数FindNode()遍历b的左子树(用同样方法,这句就是递归了)
FindNode(b->rchild,x);//用函数FindNode()遍历b的右子树 这句也是递归
}
}

}
请问当我找到了一个结点x后,用return返回时,是退出了整个函数,还是结束了本次递归调用?
你这个函数能找多个值为x的结点吗?

搜索更多相关主题的帖子: 二叉树 FindNode 函数 遍历 else 
2006-06-08 18:34
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
错误..return只是结束了本次递归

所以.你这个程序没办法实现找到值为X的结点

如果是在函数中 打印地址..可以找到俩个值(或两个以上)为X的相同的结点

如果用指针的方式.则只能找到最后一个值为X的结点!

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-08 19:15
快速回复:[求助]二叉树查找问题
数据加载中...
 
   



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

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