typedef struct node{ //用到的结构体
int no;
struct node *lchild,rchild;
}bitree;
typedef struct stu{
bitree *s[N];
int front;
int rear;
}sequeue;
typedef stuct linknode{
bitree *data;
struct linknode *next;
}linklist;
typedef struct{
linklist *front;
linklist *rear;
}linkqueue;
bitree *CreateBitree(int i,int n){ //创建的二叉树
bitree *p;
p=(bitree *)malloc(sizeof(bitree));
p->no=i;
p->lchild=(2*i<=n)?CreateBitree(2*i,n):NULL;
p->rchild=(2*i+1<=n)?CreateBitree(2*i+1,n):NULL;
return p;
}
void PreOrder(BTNode *bt){ //先序遍历
if(bt!=NULL){
printf("%c",bt->data);
PreOrder(bt->lchild);
PreOrder(bt->rchild);
}
}
void InOrder(BTNode *bt){ //中序遍历
if(bt=NULL){
InOrder(bt->lchild);
printf("%c",bt->data);
InOrder(bt->rchild);
}
}
void PostOrder(BTNode *bt){ //后序遍历
if(bt!==NULL){
PostOrder(bt->lchild);
PostOrder(bt->rchild);
printf("%c",bt->data);
}
}