欢迎来到天天文库
浏览记录
ID:51803346
大小:1.94 MB
页数:2页
时间:2020-03-15
《交换二叉树中所有节点的左右子树.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#definemax10typedefstructnode{chardata;nodelchild,rchild;}Bitree;BitreeB[max];BitreeCreatree(){//建立二叉树BitreeT,S;charch;intfront,rear,sign;sign=0;front=0;rear=-1;T=NULL;printf("建立二叉树:");ch=getchar();while(ch!='#'){if(ch!='@'){S=(Bitree
2、)malloc(sizeof(Bitree));S->data=ch;S->lchild=S->rchild=NULL;rear++;B[rear]=S;if(rear==front){T=S;sign++;}else{if(sign%2==1)B[front]->lchild=S;if(sign%2==0){B[front]->rchild=S;front++;}sign++;}}else{if(sign%2==0)front++;sign++;}ch=getchar();}returnT;}voidSwaplr(BitreeT){/
3、/交换左右子树if(T!=NULL){Bitreep;p=T->lchild;T->lchild=T->rchild;T->rchild=p;Swaplr(T->lchild);//递归调用Swaplr(T->rchild);}}voidvisit(BitreeT){printf("%c",T->data);}voidInorder(BitreeT){//中序遍历二叉树if(T!=NULL){Inorder(T->lchild);visit(T);Inorder(T->rchild);}}voidmain(){BitreeT;T=C
4、reatree();printf("中序遍历:");Inorder(T);Swaplr(T);printf("交换左右子树后中序遍历:");Inorder(T);}
此文档下载收益归作者所有