二叉树中序遍历的非递归算法实现

二叉树中序遍历的非递归算法实现

ID:42655994

大小:47.50 KB

页数:5页

时间:2019-09-19

二叉树中序遍历的非递归算法实现_第1页
二叉树中序遍历的非递归算法实现_第2页
二叉树中序遍历的非递归算法实现_第3页
二叉树中序遍历的非递归算法实现_第4页
二叉树中序遍历的非递归算法实现_第5页
资源描述:

《二叉树中序遍历的非递归算法实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、试验五课程名称实验室名称实验名称二叉树中序遍历的非递归算法实现指导教师成绩1、实验目的二叉树中序遍历的非递归算法实现2、实验原理和内容二叉树中序遍历的非递归算法实现3、实验步骤1.链式存储结构的定义和栈结构的定义2.编写进栈函数push和出栈函数pop实现中序遍历过程中需存储的数的进栈和出栈过程3.创建一棵二叉树4.对该二叉树进行中序遍历,采用非递归算法实现1、程序及运行结果(或实验数据记录及分析)#include#includetypedefchardatatype;//*链式存储结

2、构*//typedefstructnode{datatypedata;structnode*lchild,*rchild;}bintnode;typedefbintnode*bintree;typedefstructstack{/*栈结构定义*/bintreedata[100];inttop;}seqstack;voidpush(seqstack*s,bintreet){s->data[s->top]=t;s->top++;}bintreepop(seqstack*s){if(s->top!=0){s->top--;ret

3、urn(s->data[s->top]);}elsereturnNULL;}voidcreatebintree(bintree*t){charch;if((ch=getchar())=='')*t=NULL;else{*t=(bintnode*)malloc(sizeof(bintnode));(*t)->data=ch;createbintree(&(*t)->lchild);createbintree(&(*t)->rchild);}}voidinorder1(bintreet){seqstacks;s.top=0;w

4、hile((t!=NULL)

5、

6、(s.top!=0)){while(t){push(&s,t);t=t->lchild;}if(s.top!=0){t=pop(&s);printf("%c",t->data);t=t->rchild;}}}main(){bintreeroot;printf("inputthetreeaspreorder:");createbintree(&root);printf("中序遍历结果是:");inorder1(root);}在屏幕上输出的结果:

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

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

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