二叉树建立问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 07:00:59
int CreateBiTree(BiTree &T)
{
char c;
//scanf("%c",&c);
if(c=getchar()==' ') T=NULL;
else
{
if (!(T=new BiTNode)) exit(-1);
T->data=c;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
return 1;
}//CreateBiTree

就这段程序构建树,为什么不成功?错在哪?好多不都这样写么?
或者是我输入是错误??高手指导下呢?
在线等

//二叉树的建立和遍历程序

#include<iostream>
using namespace std;
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;
void createTree(BiTree &T)
{
char ch;
cin>>ch;
if(ch=='/') T=NULL;
else{
struct BiTNode *t=new BiTNode;
t->data=ch;
T=t;
createTree(T->lchild);
createTree(T->rchild);
}
}
void traverse(BiTree T)
{
if(T)
{
cout<<T->data;
traverse(T->lchild);
traverse(T->rchild);
}
}
int main()
{
BiTree T;
cout<<"请输入结点,以创建二叉树"<<endl;
createTree(T);
traverse(T);
return 0;
}
我用的测试数据:abc///d//

首先 你没有声明T的类型,缺少很多类型定义。
我好久以前学的,也不太会了。硬盘里还存了一些数据结构的源码。要的话留下E-mail

#include <stdio.h>

#define NULL 0
#define TRUE 1
#define FALSE