#include<iostream>
#include<string>
#include<algorithm>
#include<stack>
using namespace std;
//定义栈的结构
typedef struct SNode {
char data;
int tag;
}SNode,*Stack;
//定义二叉树的结构
typedef struct BiTNode {
char data;
struct BiTNode* lchild, * rchild;
}BiTNode,*BiTree;
/*需要先创建二叉树*/
void CreateBiTree(BiTree& T) {
char ch;
cin >> ch;
if (ch == '#')
T = NULL;
else {
T = new BiTNode;
T->data = ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}/*递归创建*/
}
//中序遍历(递归遍历)
void InorderTracerse(BiTree T) {
if (T) {
InorderTracerse(T->lchild);
cout << T->data;
InorderTracerse(T->rchild);
}
}
//先序遍历(递归遍历)
void PreorderTracerse(BiTree T) {
if (T) {
cout << T->data;
PreorderTracerse(T->lchild);
PreorderTracerse(T->rchild);
}
}
//后序遍历(递归遍历)
void PostorderTracerse(BiTree T) {
if (T) {
Postorder