#include<iostream>
using namespace std;
typedef struct BitNode
{
char data;
BitNode* lchild;
BitNode* rchild;
}*BiTree;
void CreatBitNode(BiTree& T)
{
char ch;
cin >> ch;
if (ch == '#')
{
T = NULL;
return;
}
else
{
T = new BitNode;
T->data = ch;
CreatBitNode(T->lchild);
CreatBitNode(T->rchild);
}
}
void qbl(BiTree T)
{
if (T == NULL)
return;
else
{
cout << T->data;
qbl(T->lchild);
qbl(T->rchild);
}
}
void zbl(BiTree T)
{
if (T == NULL)
return;
else
{
zbl(T->lchild);
cout << T->data;
zbl(T->rchild);
}
}
void hbl(BiTree T)
{
if (T == NULL)
return;
else
{
hbl(T->lchild);
hbl(T->rchild);
cout << T->data;
}
}
int main()
{
BiTree T;
CreatBitNode(T);
cout << ("前序遍历 ");
qbl(T);
cout << endl << "中序遍历 ";
zbl(T);
cout << endl << "后序遍历 ";
hbl(T);
}