欢迎来到天天文库
浏览记录
ID:55340309
大小:39.00 KB
页数:7页
时间:2020-05-11
《二叉树的建,查找,删除,遍历.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#definemax100#definenull0structnode*inserttree(structnode*tree);structnode*findtree(structnode*tree,intx);voidcorrect(structnode*findi);structnode*deltree(structnode*tree);voidpreorder(structnode*tree);voidmidorder(structnode*tree);voidpostorder(str
2、uctnode*tree);structnode{intdata;structnode*llink;structnode*rlink;};intmain(){intchoose;structnode*tree,*findi;intflag,x;flag=1;tree=null;do{printf("*************************");printf("Pleasechooseyourchoice1----------creattree2----------findtree3----------correct4--------
3、--deltree");printf("5----------preorder6----------midorder7----------postorder");printf("*************************");scanf("%d",&choose);switch(choose){case1:tree=inserttree(tree);break;case2:printf("Pleaseinputthenumberyouwantfind!");scanf("%d",&x);findi=findtree(tree,x)
4、;if(findi==null)printf("Thereisnotanumberindinarytree");elseprintf("Thenumberyouwanttofind=%d",findi->data);break;case3:printf("Pleaseinputthenumberyouwanttoreplace:");scanf("%d",&x);findi=findtree(tree,x);correct(findi);break;case4:tree=deltree(tree);break;case5:printf("priorord
5、er:");preorder(tree);break;case6:printf("midororder:");midorder(tree);break;case7:printf("postororder:");postorder(tree);break;default:printf("error");}printf("Doyouwanttocontiue1----------YES0----------NO");scanf("%d",&flag);}while(flag);return(0);}structnode*inserttre
6、e(structnode*tree){structnode*p,*q;intx,i,n;printf("Pleaseinputthen!");scanf("%d",&n);for(i=0;idata=x;p->rlink=null;p->llink=null;tree=p;}else{p=tree;while(p!=null){q
7、=p;if(xdata)p=p->llink;elsep=p->rlink;}p=(structnode*)malloc(sizeof(structnode));p->data=x;p->rlink=null;p->llink=null;if(xdata)q->llink=p;elseq->rlink=p;}}return(tree);}structnode*findtree(structnode*tree,intx){structnode*p,*q;intflag;flag=0;p=tree;while((p!=null)&&(!flag)){
8、if(p->data==
此文档下载收益归作者所有