| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 707 人关注过本帖
标题:关于二叉树的建立
只看楼主 加入收藏
泡泡大帝
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-4-12
收藏
 问题点数:0 回复次数:2 
关于二叉树的建立
#include<stdio.h>
#include<stdlib.h>
struct Node
{
    struct Node *lChild;//左节点
    int data;
    struct Node *rChild;//右节点
};
struct Node *Root;//Root表示根节点 parents表示父节点
void CreatTree(int a,struct Node *parents)
{
    if(Root==NULL)
    {
        parents=Root=(struct Node *)malloc(sizeof(struct Node));
        Root->data=a;
    }else
    {
        parents=(struct Node *)malloc(sizeof(struct Node));
        parents->data=a;
    }
    int left,right;
    scanf("%d %d",&left,&right);
    if(left!=-1)
    {
            CreatTree(left,parents->lChild);
    }
    if(right!=-1)
    {
            CreatTree(right,parents->rChild);
    }
}
main()
{
    CreatTree(10,NULL);
    printf("%d",Root->lChild->data);
}
第一次写二叉树的建立  代码运行无错  但遍历的时候输出的是地址  求大佬指导!感激不尽。
搜索更多相关主题的帖子: include 二叉树 
2017-04-12 12:25
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
什么~代码运行无错?~main里面的Root->lChild里面根本没有赋值~这样也没有报错~什么编译器~
这样改就行了~

程序代码:
#include<stdio.h>
#include<stdlib.h>
struct Node
{
    struct Node *lChild;//左节点
    int data;
    struct Node *rChild;//右节点
};
struct Node *Root;//Root表示根节点 parents表示父节点
void CreatTree(int a,struct Node **parents)
{
     int left,right;
    if(Root==NULL)
    {
        *parents=Root=(struct Node *)malloc(sizeof(struct Node));
        Root->data=a;
        Root->lChild=NULL;
        Root->rChild=NULL;
    }
    else
    {
        *parents=(struct Node *)malloc(sizeof(struct Node));
        (*parents)->data=a;
        Root->lChild=NULL;
        Root->rChild=NULL;
    }
    scanf("%d%d",&left,&right);
    if(left!=-1)
    {
            CreatTree(left,&((*parents)->lChild));
    }
    if(right!=-1)
    {
            CreatTree(right,&((*parents)->rChild));
    }
}
main()
{
    CreatTree(10,&Root);
    if (Root->lChild)
        printf("%d",Root->lChild->data);

    printf("\n");

    return 0;
}


[此贴子已经被作者于2017-4-12 13:08编辑过]

收到的鲜花
  • 泡泡大帝2017-04-12 15:06 送鲜花  3朵   附言:我很赞同

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-04-12 13:06
泡泡大帝
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-4-12
收藏
得分:0 
回复 2楼 九转星河
谢谢
2017-04-12 15:07
快速回复:关于二叉树的建立
数据加载中...
 
   



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

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