标题:我的程序问题出在哪里
只看楼主
guiqulai
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-5-7
 问题点数:0 回复次数:17 
我的程序问题出在哪里

#include"iostream.h"
#include"stdio.h"
#include"stdlib.h"

# define OVERFLOW -2

char ch;
typedef int TElemType;

typedef struct BiTNode{ TElemType data;
struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;

void CreateBiTree(BiTree &T)//生成二叉树
{ printf("无效的插入位置!\n");
cin>>ch;
if(ch==' ') T=NULL;
else{
if(!(T=(BiTNode *)malloc(sizeof(BiTNode)))) exit(OVERFLOW);
T->data=ch; //生成根节点
CreateBiTree(T->lchild);//生成左子树
CreateBiTree(T->rchild);//生成右子树
}
}

void mid( BiTNode *root) //先序遍历并打印结点
{ printf("无效位置!\n");

if (root!=NULL){ mid(root->lchild);

printf( "root->data");

mid(root->rchild); }
}


void LeafNum( BiTNode *root)//统计叶子节点个数
{ int n=0;
if(root!=NULL)
{ LeafNum(root->lchild);
if(root->lchild==NULL&&root->rchild==NULL) n=n+1;
LeafNum(root->rchild); }
}

int main()
{ BiTree Q;

CreateBiTree(Q);
mid(Q);
LeafNum(Q);
return 0;}

搜索更多相关主题的帖子: 二叉树 include 
2006-05-07 21:15
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
cin>>ch;

这是什么

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-07 21:17
guiqulai
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-5-7
得分:0 
提示输入CH值啊
2006-05-07 21:21
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
void mid( BiTNode *root) //先序遍历并打印结点
{ printf("无效位置!\n");

if (root!=NULL){ mid(root->lchild);

printf( "root->data");

mid(root->rchild); }


先序遍历是这个样子吗

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-07 21:22
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
老大啊,这是C论坛,你起码改成C的啊

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-07 21:22
guiqulai
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-5-7
得分:0 

后面先序遍历和统计叶子节点个数函数好像不运行,

2006-05-07 21:24
guiqulai
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-5-7
得分:0 
你等下
2006-05-07 21:25
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
你那是中序啊

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-07 21:26
guiqulai
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-5-7
得分:0 


#include"stdio.h"
#include"stdlib.h"

# define OVERFLOW -2

char ch;
typedef int TElemType;

typedef struct BiTNode{ TElemType data;
struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;

void CreateBiTree(BiTree &T)//生成二叉树
{ printf("无效的插入位置!\n");
scanf(&ch);
if(ch==' ') T=NULL;
else{
if(!(T=(BiTNode *)malloc(sizeof(BiTNode)))) exit(OVERFLOW);
T->data=ch; //生成根节点
CreateBiTree(T->lchild);//生成左子树
CreateBiTree(T->rchild);//生成右子树
}
}

void mid( BiTNode *root) //中序遍历并打印结点
{

if (root!=NULL){ mid(root->lchild);

printf( "root->data");

mid(root->rchild); }
}


void LeafNum( BiTNode *root)//统计叶子节点个数
{ int n=0;
if(root!=NULL)
{ LeafNum(root->lchild);
if(root->lchild==NULL&&root->rchild==NULL) n=n+1;
LeafNum(root->rchild); }
}

int main()
{ BiTree Q;

CreateBiTree(Q);
mid(Q);
LeafNum(Q);
return 0;}

2006-05-07 21:29
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
我晕,你用的还是引用方式

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-07 21:34



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




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

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