欢迎来到天天文库
浏览记录
ID:8964346
大小:34.50 KB
页数:2页
时间:2018-04-13
《c语言实现二叉树的后续遍历(非递归)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、二叉树的前序遍历、中序遍历、后续遍历(包括递归、非递归,共六种)1、后续遍历(非递归):#include#includestructBiTNode*stack[100];structBiTNode//定义结构体{chardata;structBiTNode*lchild,*rchild;};voidlater(structBiTNode*&p)//前序创建树{charch;scanf("%c",&ch);if(ch=='')p=NULL;else{p=(structBiTNode*)malloc(sizeof
2、(structBiTNode));p->data=ch;later(p->lchild);later(p->rchild);}}voidprint(structBiTNode*p)//后序遍历(输出二叉树){inti=-1;while(1){while(p!=NULL){stack[++i]=p;/*printf.0("ok?");*/p=p->lchild;}if(i!=-1){while(p==stack[i]->rchild
3、
4、(p==stack[i]->lchild&&stack[i]->rchild==NULL)){p=stack[
5、i--];printf("%c",p->data);if(i==-1)return;}p=stack[i]->rchild;}elsereturn;}}intmain()//主函数{structBiTNode*p,*t;later(p);print(p);printf("");system("pause");return0;}供测试使用的数据前序创建二叉树中序后序/*ABDC*/BDACDBCA/*ABCDEFG*/CBDAFEGCDBFGEA
此文档下载收益归作者所有