标题:各位来帮我看看我编的二叉树的代码。
只看楼主
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
帖 子:1728
专家分: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



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




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

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