| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1108 人关注过本帖
标题:各位来帮我看看我编的二叉树的代码。
只看楼主 加入收藏
qq56001415
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
各位来帮我看看我编的二叉树的代码。
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
using namespace std;
typedef struct BTNode//建立叶子节点
{
    char data;//存放数据
    struct BTNode *lchild;//左孩子
    struct BTNode *rchild;//右孩子
}BTNode,*BTtree;
void createBTtree(BTtree &L)//创建一棵二叉树
{
    char ch;
    scanf("%c",&ch);
    if(ch='#')//若输入为#,则为空树
    {
        L=NULL;
    }
    else
    {
        L=new BTNode;//new一个节点
        L->data=ch;//存入数据
    }
    createBTtree(L->lchild);//递归调用自己
    createBTtree(L->rchild);
}
int leafnodenumber(BTtree &ROOT)//得到这颗二叉树的叶子节点
{
    int lnum,rnum;
    if(ROOT==NULL)//如果根节点为null,返回0
        return 0;
    if(ROOT->lchild==NULL&&ROOT->rchild==NULL)//左右孩子为null,返回1
        return 1;
    lnum=leafnodenumber(ROOT->lchild);//递归调用自己
    rnum=leafnodenumber(ROOT->rchild);
        return(lnum+rnum);
}
int main()
{
    int i;
    BTtree T;
    createBTtree(T);
    i=leafnodenumber(T);//把叶子节点数给i
    printf("%d\n",i);//输出
    return 0;
}


大家好,这是我自己写的一个关于计算二叉树中叶子节点的数目的代码,为了方便大家查看我加了注释,这段代码总是无法输出,会崩掉,帮我看看我硬是没发现bug。



输入样例
ABC##DE#G##F###
 
输出样例
3


搜索更多相关主题的帖子: include 二叉树 叶子 
2015-12-23 17:42
qq56001415
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-23
收藏
得分:0 
多谢大家!
2015-12-23 17:43
qq56001415
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-23
收藏
得分:0 
if(ch='#')//若输入为#,则为空树
这一行的ch=‘#’为笔误,改好了也不行
2015-12-23 17:46
qq56001415
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-23
收藏
得分:0 
OK我解决了!
 else
    {
        L=new BTNode;//new一个节点
        L->data=ch;//存入数据
    }
    createBTtree(L->lchild);//递归调用自己
    createBTtree(L->rchild);
里面
createBTtree(L->lchild);//递归调用自己
createBTtree(L->rchild);
应该在大括号内 谢谢大家不用啦


2015-12-23 17:48
qq56001415
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-23
收藏
得分:0 
好吧 那换一个问题 谁能给我讲讲using namespace std;的用法和注意
2015-12-23 17:52
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:7 
using namespace std;不是c++要用的吗?c语言可以不要啊!
2015-12-23 20:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
以下是引用qq56001415在2015-12-23 17:52:37的发言:

好吧 那换一个问题 谁能给我讲讲using namespace std;的用法和注意

你這個代碼沒用到命名空間的內容,可以不要。

授人以渔,不授人以鱼。
2015-12-23 20:13
S13170055715
Rank: 2
等 级:论坛游民
帖 子:4
专家分:17
注 册:2015-12-23
收藏
得分:7 
回复 4楼 qq56001415
你的程序运行正常吗?我运行的结果全是0,怎么回事?
2015-12-24 09:10
快速回复:各位来帮我看看我编的二叉树的代码。
数据加载中...
 
   



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

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