c语言实现二叉树的前序、中序、后续遍历(非递归法)

c语言实现二叉树的前序、中序、后续遍历(非递归法)

ID:8968102

大小:44.50 KB

页数:5页

时间:2018-04-13

c语言实现二叉树的前序、中序、后续遍历(非递归法)_第1页
c语言实现二叉树的前序、中序、后续遍历(非递归法)_第2页
c语言实现二叉树的前序、中序、后续遍历(非递归法)_第3页
c语言实现二叉树的前序、中序、后续遍历(非递归法)_第4页
c语言实现二叉树的前序、中序、后续遍历(非递归法)_第5页
资源描述:

《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(structBiTNode));p

2、->data=ch;later(p->lchild);later(p->rchild);}}voidprint(structBiTNode*p)//前序遍历(输出二叉树){inti=-1;while(1){while(p!=NULL){stack[++i]=p->rchild;/*printf("ok?");*/printf("%c",p->data);p=p->lchild;}if(i!=-1){p=stack[i];i--;}elsereturn;}}voidmain()//主函数{structBiTNode*p,*t;later(p);print(p);}

3、2、中序遍历(非递归)#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(structBiTNode));p->data=ch;later(p->lchild

4、);later(p->rchild);}}voidprint(structBiTNode*p)//中序遍历(输出二叉树){inti=-1;while(1){while(p!=NULL){i++;stack[i]=p;p=p->lchild;}if(i!=-1){p=stack[i];i--;printf("%c",p->data);p=p->rchild;}}}voidmain()//主函数{structBiTNode*p;later(p);print(p);}3、后续遍历(非递归):#include#includestruct

5、BiTNode*stack[100];structBiTNode//定义结构体{chardata;structBiTNode*lchild,*rchild;};voidlater(structBiTNode*&p)//前序创建树{charch;scanf("%c",&ch);if(ch=='')p=NULL;else{p=(structBiTNode*)malloc(sizeof(structBiTNode));p->data=ch;later(p->lchild);later(p->rchild);}}voidprint(structBiTNode*p)//后序遍

6、历(输出二叉树){inti=-1;while(1){while(p!=NULL){stack[++i]=p;/*printf.0("ok?");*/p=p->lchild;}if(i!=-1){while(p==stack[i]->rchild

7、

8、(p==stack[i]->lchild&&stack[i]->rchild==NULL)){p=stack[i--];printf("%c",p->data);if(i==-1)return;}p=stack[i]->rchild;}elsereturn;}}intmain()//主函数{structBiTNode*

9、p,*t;later(p);print(p);printf("");system("pause");return0;}供测试使用的数据前序创建二叉树中序后序/*ABDC*/BDACDBCA/*ABCDEFG*/CBDAFEGCDBFGEA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。