欢迎来到天天文库
浏览记录
ID:58676864
大小:14.00 KB
页数:2页
时间:2020-10-15
《c语言构造树及树的三种遍历.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#include#include#defineerror0#defineok1typedefstructBiTNode{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;intCreateBiTree(BiTree&T){charch;scanf("%c",&ch);if(ch=='#')T=NULL;else{if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))exit(error);
2、T->data=ch;CreateBiTree(T->lchild);CreateBiTree(T->rchild);}returnok;}voidPreOrderBiTree(BiTreeT){if(T){printf("%c",T->data);PreOrderBiTree(T->lchild);PreOrderBiTree(T->rchild);}}voidInOrderBiTree(BiTreeT){if(T){InOrderBiTree(T->lchild);//中序遍历左子树printf("%c",T->data);//访问结点InOrderBiTree(T->rchild
3、);//中序遍历右子树}}voidPostOrderBiTree(BiTreeT){if(T){PostOrderBiTree(T->lchild);PostOrderBiTree(T->rchild);printf("%c",T->data);}}main(){inti;BiTreeT;printf("t请输入树的各元素:t");CreateBiTree(T);do{printf("/*****************************/");printf("t1键:先序输出;t2键:中序输出;t3键:后序输出!t0键:退出程序!");pri
4、ntf("t请输入你的选择:t");scanf("%d",&i);switch(i){case1:printf("t你选择的是先序输出!!");printf("t输出结果为:");printf("t");PreOrderBiTree(T);break;case2:printf("t你选择的是中序输出!!");printf("t输出结果为:");printf("t");InOrderBiTree(T);break;case3:printf("t你选择的是后序输出!!");printf("t输出结果为:");print
5、f("t");PostOrderBiTree(T);break;}printf("");}while(i!=0);}
此文档下载收益归作者所有