#include
using namespace std;
#define OK 1
#define ERROR 0
#define MAXQIZE 100
typedef char TElemType;
typedef int Status;
char ch;
int a,m,n;
typedef struct BiTNode{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void jianli(BiTree &T)
{
cin>>ch;
if(ch=='#') T=NULL;
else
{
T=new BiTNode;
T->data=ch;
jianli(T->lchild);
jianli(T->rchild);
}
}
void bianlixx(BiTree T)//前序
{
if(T)
{
cout<
bianlixx(T->lchild);
bianlixx(T->rchild);
}
}
void bianlizx(BiTree T)//中序
{
if(T)
{
bianlizx(T->lchild);
cout<
bianlizx(T->rchild);
}
}
void bianlihx(BiTree T)//后序
{
if(T)
{
bianlihx(T->lchild);
bianlihx(T->rchild);
cout<
}
}
Status gaodu(BiTree T)//高度
{
if(T==NULL)
return 0;
else
{
m=gaodu(T->lchild);
n=gaodu(T->rchild);
if(m>n)
return m+1;
else
return n+1;
}
}
int main(void)
{
int a;
BiTNode *T;
jianli(T);
cout<<"先序遍历";
bianlixx(T);
cout<<"n中序遍历";
bianlizx(T);
cout<<"n后序遍历";
bianlihx(T);
cout<<"n二叉树的高度";
a=gaodu(T);
cout<
return 0;
}



