#include <stdlib.h>
#include <stdio.h>
#define ElemType char
typedef struct BiTNode *BiTree;
struct BiTNode{
ElemType data;
BiTree lchild,rchild;
};
BiTree CreateBiTree(){
ElemType ch;
BiTree T;
scanf("%c",&ch);
if(ch=='#')T=NULL;
else{
T = (BiTree)malloc(sizeof *T);
T->data = ch;
T->lchild = CreateBiTree();
T->rchild = CreateBiTree();
}
return T;
}
void PreOrderTraverse(BiTree T){
if(T){
printf("%c",T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
}
void InOrderTraverse(BiTree T){
if(T){
InOrderTraverse(T->lchild);
printf("%c",T->data);
InOrderTraverse(T->rchild);
}
}
void PostOrderTraverse(BiTree T){
if(T){
PostOrderTraverse(T->lchild);
PostOrderTraverse(T->rchild);
printf("%c",T->data);
}
}
main(){
BiTree T;
T = CreateBiTree();
PostOrderTraverse(T);
// EDBA##C###HF#G###
}
</pre><pre name="code" class="objc"><img src="https://img-blog.youkuaiyun.com/20150812210227654?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />