| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3640 人关注过本帖
标题:二叉树基本操作 节点的计算问题
只看楼主 加入收藏
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
CreateBiTree(BiTree *T)
传入的应该是个地址的地址。
测试树是否建好,只要看能否打印结点信息就行。

倚天照海花无数,流水高山心自知。
2008-11-30 20:38
geninsf009
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:613
专家分:95
注 册:2008-8-16
收藏
得分:0 
斑竹说的对,我也觉得纳闷,int* count;定义的是一个整型变量的指针,就算赋值,也应该是对整型变量赋值,为啥不用静态变量啊?
2008-11-30 20:52
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
收藏
得分:0 
Status CreateBiTree(BiTree *T){

如果我们这样调用,CreateBiTree(BiTree P);//BiTree本身就是一个指针,
p=malloc
p->lchird=CreateBiTree(p->lchird)这样对吗?



如果上边是成立的话,那么下边也就是对的:Status CreateBiTree(BiTree *T)
CreateBiTree((*T)->lchirld){
2008-11-30 21:46
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
如果你想改变一个指针本身地址的指向,一用引用,二用指针的指针、三全局、四静态。。。

倚天照海花无数,流水高山心自知。
2008-12-01 14:02
geninsf009
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:613
专家分:95
注 册:2008-8-16
收藏
得分:0 
LS斑竹说得很到位。
2008-12-01 16:06
盆中线
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2008-11-6
收藏
得分:0 
回复 第7楼 geninsf009 的帖子
这个是树的创建,没错吧,不然在Preoder时,是不会遍历到的。visit函数能输出那些结点,但是count不加,树的创建没错吧。
2008-12-02 17:04
盆中线
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2008-11-6
收藏
得分:0 
我想我的程序写为能计算双亲结点。但是我改称这样了:
int n=0;
Status PreOrderTraverse(BiTree T,Status(* visit)(TElemType  )){
   
    
    if(T){
        if(visit(T->data))
            n++;
        if(PreOrderTraverse(T->lchild,visit))
            if(PreOrderTraverse(T->rchild,visit))
                return OK;
            return ERROR;
    }
    else return OK;
    return n;
}
还是错的。。。。会不会是把n看成了局部变量,所以导致每次用PreOderTraverse时,都将n的值初始化呢?

我想知道这个代码哪里不对。。因为我换了种算法,试验做了。但是这个哪里错了呢?

[[it] 本帖最后由 盆中线 于 2008-12-2 17:19 编辑 [/it]]
2008-12-02 17:17
geninsf009
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:613
专家分:95
注 册:2008-8-16
收藏
得分:0 
回复 第16楼 盆中线 的帖子
我的程序是用广义表创建二叉树的,我试着创建了几个来统计结点的个数,结果是正确的,我觉得你的代码把n用作静态变量就可以了,就是:
static int count=0;就完毕了。
2008-12-02 18:58
快速回复:二叉树基本操作 节点的计算问题
数据加载中...
 
   



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

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