文章
7
粉丝
0
获赞
35
访问
981
在这里借鉴了大佬们的全局变量想法,设置全局变量char s[100]和int a,主要作用是当输入 '\0'时,自动为没建好的树叶节点全部为NULL。
#include<iostream>
#include<string>
using namespace std;
int a;
char s[100];
typedef struct node{
char data;
struct node *lchild,*rchild;
}*BitTree;
void visit(BitTree T){
if(T!=NULL){
cout<<T->data<<' ';
}
}
void CreatBitTree(BitTree &T){
if(s[a]=='\0'){
T=NULL;
return;
}
if(s[a]=='#'){
T=NULL;
++a;
}
else{
T=new node;
T->data=s[a];
++a;
CreatBitTree(T->lchild);
CreatBitTree(T->rchild);
}
}
void InOrderTraverse(BitTree T){
if(T!=NULL){
InOrderTraverse(T->lchild);
visit(T);
InOrderTraverse(T->rchild);
}
}
int main(){
BitTree T=NULL;
while(cin>>s){
a=0;
CreatBitTree(T);
InOrderTraverse(T);
cout<<endl;
T=NULL;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发