二叉树的遍历#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree; int CreateBiTree(BiTree &T) { char ch; scanf("c",&ch); if(ch=='#') T=NULL; else { if(!(T=(BiTNode *)malloc(sizeof(BiTNode)))); return -1; T->data=ch; CreateBiTree(T->lchild); CreateBiTree(T->rchild); } return 1; } int Preorder(BiTree T,int(*Element)(char e)) { if(T) { Element(T->data); Preorder(T->lchild,Element); Preorder(T->rchild,Element); } else { printf(" "); } return 0; } int Inorder(BiTree T,int(*Element)(char e)) { if(T) { Inorder(T->lchild,Element); Element(T->data); Inorder(T->rchild,Element); } else { printf(" "); } return 0; } int Postorder(BiTree T,int(*Element)(char e)) { if(T) { Postorder(T->lchild,Element); Postorder(T->rchild,Element); Element(T->data); } else { printf(" "); } return 0; }