| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 378 人关注过本帖
标题:一个关于二叉树结点的问题,加急..
只看楼主 加入收藏
idwendy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-9-26
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
一个关于二叉树结点的问题,加急..
BiTree point(BiTree &T,ElemType &e){   //若e是二叉树T中的某个结点,返回指向e所在的结点
    if(T){
        if(T->data==e) return T;
        else{
            point(T->lchild,e);
            point(T->rchild,e);
        }
    }
}

只能找到返回右结点,如果e是左结点,就找不到了,搞了一下午,郁闷死了..
搜索更多相关主题的帖子: return 二叉树 
2012-07-04 11:03
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:3 
我需要知道你的BiTree是怎么定义的才能帮你。

重剑无锋,大巧不工
2012-07-04 11:34
silent_world
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:258
专家分:1138
注 册:2011-9-24
收藏
得分:3 
呵呵,BiTree定义如何?
你用下面代码看看:

BiTree point(BiTree &T,ElemType &e){   //若e是二叉树T中的某个结点,返回指向e所在的结点
    BiTree *curNode = NULL;
    if(T){
        if(T->data==e) return T;
        else{
            curNode = point(T->lchild,e);
            if(NULL != curNode)
                 return curNode;
            curNode = point(T->rchild,e);
        }
    }
   
    return curNode;
}


[ 本帖最后由 silent_world 于 2012-7-4 12:16 编辑 ]
2012-07-04 12:13
idwendy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-9-26
收藏
得分:0 
回复 2楼 beyondyf
typedef struct BiTNode { //链式存储结构
    char data; //数据域
    struct BiTNode *lchild,*rchild; //左右孩子指针
}BiTNode,*BiTree;
2012-07-04 12:36
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
回复 4楼 idwendy
递归调用 point函数时没有对返回值做有效性判断,查完左子树后不管是否找到都会右子树,所以你查不到左边的

总有那身价贱的人给作业贴回复完整的代码
2012-07-04 13:24
快速回复:一个关于二叉树结点的问题,加急..
数据加载中...
 
   



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

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