| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 575 人关注过本帖
标题:树的建立和遍历
只看楼主 加入收藏
笨笨echo
Rank: 1
等 级:新手上路
帖 子:21
专家分:2
注 册:2012-7-28
结帖率:100%
收藏
 问题点数:0 回复次数:5 
树的建立和遍历
我写的不知道为什么总是有两个错误。这是我的代码,我用前序遍历。拜托各位大神指点小的一下。
#include<stdio.h>
#include<stdlib.h>
typedef struct BTree
{
    char data;
    struct BTree *lchild,*rchild;
}Tree,*p;

void CreatBiTree(p T)
{
    char ch;
    if((ch==getchar())!='\n')
    T=NULL;
    else
    {
        T=(Tree *)malloc(sizeof(Tree));
        if(!T)
        exit(1);
        T->data=ch;
        CreatBiTree(T->lchild);
        CreatBiTree(T->rchild);
    }

}
void Travel(p T)
{
    if(T)
    {
        printf("%c",T->data);
        Traval(T->lchild);
        Traval(T->rchild);
    }
}
void main()
{
    p T;
    printf("输入二叉树元素:");
      CreatBiTree(T);
      printf("前驱遍历:");
    Travel(T);
    printf("\n");

}




错误在附件里面。。拜托大家了。








[ 本帖最后由 笨笨echo 于 2012-10-18 09:05 编辑 ]
搜索更多相关主题的帖子: include Travel 
2012-10-18 08:50
笨笨echo
Rank: 1
等 级:新手上路
帖 子:21
专家分:2
注 册:2012-7-28
收藏
得分:0 
错误没显示出来……
我打吧~~
|9|error: expected ';', ',' or ')' before '&' token|
|25|error: expected ';', ',' or ')' before '&' token|
2012-10-18 08:54
笨笨echo
Rank: 1
等 级:新手上路
帖 子:21
专家分:2
注 册:2012-7-28
收藏
得分:0 
我知道那里了 ……原来是我的Travel函数写错了。。。乌龙一场。自己太菜了……
2012-10-18 09:17
pengzhuo2008
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:29
专家分:68
注 册:2012-9-28
收藏
得分:0 
Travel函数里的递归调用
你写错名字了。 你写成了 Traval。

我也VC6下运行了这个代码,可以通过编译,不过运行会报错,我没去分析你的逻辑。
你检查一下,应该是指针的操作违规了。


1+1=2
2012-10-18 09:20
笨笨echo
Rank: 1
等 级:新手上路
帖 子:21
专家分:2
注 册:2012-7-28
收藏
得分:0 
回复 4楼 pengzhuo2008
嗯嗯,这个我也发现了。多谢了。现在能运行了。感觉自己没仔细看就拿到帖子上来了。不好意思。多谢了啊~~不过我在code::blocks里面不能正常运行不知道你是怎么运起的呢~~那要怎么赋值才能用啊~~我感觉没有错误啊~~
2012-10-18 10:49
pengzhuo2008
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:29
专家分:68
注 册:2012-9-28
收藏
得分:0 
报错的原因就是 CreatBiTree 函数。(先不说这个函数正确与否)
这个函数中的操作是不会对你传递进去的这个参数有影响的
这个函数操作的是你传递进去的这个参数的一个副本, 如果你想操作影响到你的这个参数,那就必须要传递这个参数的引用进去。

也正是因为这个原因,你在主函数中创建了一个 T , 而你又没有进行初始化, 所以在 Travel 调用的时候, 程序访问一个非法的地址,导致错误了。

1+1=2
2012-10-18 11:23
快速回复:树的建立和遍历
数据加载中...
 
   



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

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