标题:二叉树
只看楼主
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
结帖率:100%
已结贴  问题点数:20 回复次数:3 
二叉树
Student search_student (Student root , char *name)
{

    Student p;
    if (root)
    {
        if (strcmp (name , root->name) < 0)
        {
            //return search_student (root->left , name);
            p = search_student (root->left , name);
            return p;
        }
        if (strcmp (name , root->name) > 0)
        {
            //return search_student (root->right , name);
            p = search_student (root->right , name);
            return p;
        }
    }

    return root;
}
这个是二叉排序树查找的函数,我实在搞不懂为什么一定要返回p 的值,而p 的值又是哪个的值。这递归搞得我好晕。哪位大神能帮帮我啊
搜索更多相关主题的帖子: 二叉树 Student name return left 
2017-09-21 21:46
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:10 
当然咯~这是递归啊~返回的时候要带回p值啊~不然就没有意义了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-09-21 22:16
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
得分:0 
我就搞不懂p的值到底是怎么用的。一层层的递归下来,直接懵逼了

[此贴子已经被作者于2017-9-22 00:16编辑过]


菜鸟一枚,求各位大神多多关照。
2017-09-22 00:14
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:10 
回复 3楼 yu965634383
你可以对p的值进行一步一步跟踪试试啊~最后返回空节点或者是需要查找的节点~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-09-22 10:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480860-1-1.html




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

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