构建一个简单二叉树,如:(#代表空)
a
b c
# # # #
构建:
#include<iostream>
#include<cstdio>
using namespace std;
typedef struct node{ //起别名时用
struct node *lchild;
struct node *rchild;
char a;
}Bitreenode,*Bitree;//*Bitree相当许,struct node *
void creattree(Bitree &T)//前序建树
{
char b;
scanf("%c",&b);
if(b=='#')
T=NULL;
else
{
T=new Bitreenode;
T->a=b;
creattree(T->lchild);
creattree(T->rchild);
}
}
void prin(Bitree T)前序输出树
{
if(T){
printf("%c-",T->a);
prin(T->lchild);
prin(T->rchild);
}
}
int main()
{
Bitree T;
creattree(T);
prin(T);
return 0;
}