标题:[求助]建立二叉树与二叉树的遍历
只看楼主
ohwxw
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-11-18
 问题点数:0 回复次数:2 
[求助]建立二叉树与二叉树的遍历

#include <stdio.h>
#include <malloc.h>
typedef struct BiTNode
{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

void CreatBiTree(BiTree &T)
{
char ch;
scanf(&ch);
if (ch==' ')T==NULL;
else
{
if (!(T=(BiTNode *)malloc(sizeof(BiTNode))))
printf("error");
T->data=ch;
T->lchild=NULL;
T->rchild=NULL;
CreatBiTree(T->lchild);
CreatBiTree(T->rchild);//printf("ok");
}
}
void Preorder (BiTree &T)
{ printf("ok");
// 先序遍历二叉树
if (T) {
printf("%c\n",T->data); // 访问根结点
Preorder(T->lchild); // 遍历左子树
Preorder(T->rchild);// 遍历右子树

}
}


void main()
{
BiTree BT;
CreatBiTree(BT);
Preorder(BT);
}


CreatBiTree是建立二叉树的函数,Preorder是采用递归方法对其进行先序遍历。程序运行时并未执行“Preorder(BT);”,在CreatBiTree函数的最后一行加入断点执行时,会显示0xc0000005错误,请问这是怎么回事啊?谢谢各位

[此贴子已经被作者于2006-11-18 10:28:58编辑过]

搜索更多相关主题的帖子: 二叉树 遍历 BiTNode NULL lchild 
2006-11-18 10:01
朦朦胧胧
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-9-19
得分:0 

void CreatBiTree(BiTree &T)
{
char ch;
scanf(&ch);//这句错了,改为scanf("%c",&ch);
if (ch==' ')T==NULL;
else
{


2006-11-18 17:06
ohwxw
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-11-18
得分:0 

谢谢你

2006-11-19 18:47



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




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

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