树的建立
//#include "conio.h"
#include <iostream>
#include <cmath>
using namespace std;
typedef struct BitNode
{
int data;
struct BitNode *lchild, *rchild;
}BitNode, *BiTree;
void InitBiTree(BiTree &T)
{
T = NULL;
}
int CreatBiTree(BiTree &T)
{
char ch;
int x;
T =new BitNode;
cin>>x;
ch = getchar(); //这边有问题,不懂怎么改;比如我输入1 2 3 4 5 6
if (ch == ' ')
//return 0;
T = NULL;
else
{
T->data = x;
CreatBiTree(T->lchild);
CreatBiTree(T->rchild);
}
return 0;
}
void DisPlay(BiTree &T)
{
if (T)
{
cout<<T->data;
if (T->lchild || T->rchild)
{
cout<<"(";
DisPlay(T->lchild);
if (T->rchild)
cout<<",";
DisPlay(T->rchild);
cout<<")";
}
}
}
int main()
{
BiTree T;
InitBiTree(T);
CreatBiTree(T);
DisPlay(T);
return 0;
}
问题点数:10、回复次数:2Top
1 楼willbetter(夜之哀伤)回复于 2006-03-06 19:02:31 得分 5
你的意思我不太明白,
你看这样行不?
int ich;
while((ich=getchar())!=EOF)
{
T->data = x;
CreatBiTree(T->lchild);
CreatBiTree(T->rchild);
}
...
我有点不明白,你的InitBiTree(T);将T设为NULL又怎么将他作为参数传给CreatBiTree(T);呢?
Top
2 楼ugg(逸学堂(exuetang.net))回复于 2006-03-06 19:37:02 得分 5
cin>>x;
ch = getchar(); //这边有问题,不懂怎么改;比如我输入1 2 3 4 5 6
~!~~~~~~~~~~~~~~~~~~~~~~
cin >> x;// 这时1 2 3 4 5 6 输入到x,直接判断x就可以了。不用使用getchar();Top




