《c语言构造树及树的三种遍历》由会员分享,可在线阅读,更多相关《c语言构造树及树的三种遍历(2页珍藏版)》请在人人文库网上搜索。
1、include#include#include#include #define error 0#define ok 1typedef struct BiTNodechar data;struct BiTNode *lchild,*rchild;BiTNode,*BiTree;int CreateBiTree(BiTree &T)char ch;scanf(%c,&ch);if(ch=#) T=NULL;elseif(!(T=(BiTNode *)malloc(sizeof(BiTNode)exit(error);T-data=ch;CreateBiTree(T-lchild);CreateBi。
2、Tree(T-rchild);return ok;void PreOrderBiTree(BiTree T)if(T)printf(%c,T-data);PreOrderBiTree(T-lchild);PreOrderBiTree(T-rchild);void InOrderBiTree(BiTree T) if(T) InOrderBiTree(T-lchild); /中序遍历左子树 printf(%c,T-data); /访问结点 InOrderBiTree(T-rchild); /中序遍历右子树 void PostOrderBiTree(BiTree T)if(T)PostOrderB。
3、iTree(T-lchild);PostOrderBiTree(T-rchild);printf(%c,T-data);main()int i;BiTree T;printf(t请输入树的各元素:nt);CreateBiTree(T);doprintf( /*/n);printf(t1键:先序输出; nt2键:中序输出;nt3键:后序输出!nt0键:退出程序!n);printf(t请输入你的选择:nt);scanf(%d,&i);switch(i)case 1:printf(nt你选择的是先序输出! n);printf(nt输出结果为:n);printf(t);PreOrderBiTree(T);break;case 2:printf(nt你选择的是中序输出! n);printf(nt输出结果为:n);printf(t);InOrderBiTree(T);break;case 3:printf(nt你选择的是后序输出! n);printf(nt输出结果为:n);printf(t);PostOrderBiTree(T);break;printf(n);while(i!=0。