最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
中序遍历二叉树的非递归算法
时间:2008-04-26 编辑:简简单单 来源:一聚教程网
void inorder(BiTree root)
{
int top=0;p=root;
L1:if(p!=NULL) /*遍历左子树*/
{top=top+2;
if(top>m)return; /*栈满溢出处理*/
s[top-1]=p; /*本层参数进栈*/
s[top]=L2; /*返回地址进栈*/
p=p->LChild; /*给下层参数赋值*/
goto L1;
L2:Visit(p->data);
top=top+2;
if(top>m)return; /*栈满溢出处理*/
s[top-1]=p; /*遍历右子树*/
s[top]=L3;
p=p->RChild;
goto L1;
}
L3:if(top!=0)
{
addr=s[top];
p=s[top-1]; /*取出返回地址*/
top=top-2; /*退出本层参数*/
goto addr;
}
}
这是一个模仿递归的程序,哪位大哥或大姐给小弟讲下啊,我实在看不懂啊!!!sos!!!
-
上一个: 约瑟夫问题的数组实现
-
下一个: 二叉排序树的建立及中序遍历
相关文章
- java 完全二叉树的构建与四种遍历方法示例 05-27
- 详解Java中list,set,map的遍历与增强for循环 03-25
- 详解python中字典的循环遍历的两种方式 03-17
- 二叉搜索树与树的遍历非递归练习 08-13
- java中遍历List的几种方法 02-25
- java中遍历Map的常用方法总结 01-05