#include<iostream>
using namespace std;
typedef struct node
{
struct node *lchild;
struct node *rchild;
char data;
}BiTreeNode, *BiTree;
BiTree T;
void createBiTree(BiTree &T)
{
char c;
cin >> c;
if('#' == c)
T = NULL;
else
{
T = new BiTreeNode;
T->data = c;
createBiTree(T->lchild);
createBiTree(T->rchild);
}
}
void pre(BiTree T)
{
if(T)
{
printf("%c ",T->data);
pre(T->lchild);
pre(T->rchild);
}
}
void center(BiTree T)
{
if(T)
{
center(T->lchild);
printf("%c ",T->data);
center(T->rchild);
}
}
void after(BiTree T)
{
if(T)
{
after(T->lchild);
after(T->rchild);
printf("%c ",T->data);
}
}
void ShowTraverseResult()
{
printf("先序遍历结果:");
pre(T);
printf("\n\n");
printf("中序遍历结果:");
center(T);
printf("\n\n");
printf("后序遍历结果:");
after(T);
printf("\n");
}
int main()
{
createBiTree(T);
ShowTraverseResult();
return 0;
}