欢迎来到天天文库
浏览记录
ID:28580290
大小:54.66 KB
页数:3页
时间:2018-12-11
《叉树的创建、先中后遍历、左右子树交换》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、(1)编写建立二叉树的算法。(2)验证二叉树的先序、中序、后序遍历算法(3)编写二叉树的左右子树交换算法上面这些都比较简单,程序如下:#include#includetypedefstructtree{chardata;structtree*l;/*左儿子*/structtree*r;/*右儿子*/}tr;/*先序建立二叉树*/tr*create(tr*t){tr*k=NULL;charch;scanf("%s",&ch);if(ch=='#'){t=NULL;}else{t=(tr*)malloc(sizeof(tr));t->
2、data=ch;t->l=create(k);t->r=create(k);}returnt;}/*先序遍历*/voidpreOrder(tr*t){if(t){printf("%ct",t->data);preOrder(t->l);preOrder(t->r);}}/*中序遍历*/voidinOrder(tr*t){if(t){inOrder(t->l);printf("%ct",t->data);inOrder(t->r);}}/*后序遍历*/voidpostOrder(tr*t){if(t){postOrder(t->l);postOrder(t->r);
3、printf("%ct",t->data);}}/*左右子树交换*/voidswitchChild(tr*t){if(t){tr*temp;temp=t->l;t->l=t->r;t->r=temp;switchChild(t->l);switchChild(t->r);}}main(){tr*head=NULL;head=create(head);printf("ThepreOrderis:");preOrder(head);printf("TheinOrderis:");inOrder(head);printf("ThepostOrderis:");
4、postOrder(head);printf("");switchChild(head);}
此文档下载收益归作者所有