二叉树非递归遍历
来源:互联网 发布:材料入库单软件 编辑:程序博客网 时间:2024/05/01 03:13
原文地址:http://blog.csdn.net/beitiandijun/article/details/41926903
非递归实现
借助STL的栈实现
第一步: 首先判断pRoot是否为空,若不为空,则进行第二步;若为空,则进行第三步。
第二步:访问pRoot,然后将pRoot入栈,将pRoot左结点赋给pRoot,然后对新pRoot进行第一步。
第三步:判断栈是否为空,如果不为空,则取出栈顶元素,并出栈,然后将栈顶元素的右结点赋给pRoot,然后进行第一步;如果pRoot为NULL并且栈空,则结束。
void PreorderTraverse( BTreeNode_t *pRoot){ if( pRoot == NULL ) return ; stack <BTreeNode_t *> st; while( pRoot != NULL || !st.empty() ){ while( pRoot != NULL ){ Visit( pRoot ); st.push( pRoot ); pRoot = pRoot->m_pLeft; } if( !st.empty() ){ pRoot = st.top(); st.pop(); pRoot = pRoot->m_pRight; } } return;}
0 0
- 非递归遍历二叉树
- 二叉树遍历非递归
- 非递归遍历二叉树
- 二叉树非递归遍历
- 二叉树非递归遍历
- 非递归遍历二叉树
- 二叉树非递归遍历
- 非递归遍历二叉树
- 非递归遍历二叉树
- 非递归遍历二叉树
- 非递归遍历二叉树
- 非递归遍历二叉树
- 二叉树非递归遍历
- 二叉树遍历--非递归
- 二叉树非递归遍历
- 非递归遍历二叉树
- 二叉树非递归遍历
- 二叉树非递归遍历
- **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**
- Java学习总结第六天Java数组
- postfix邮件服务器main.cf文件配置说明
- python中的IO编程
- short url design
- 二叉树非递归遍历
- hihoCoder #1383 : The Book List 【2016北京网赛】模拟
- Node.js 自学的 6 个步骤
- Sublime Text2手动安装Package Control
- (C语言)如何用星号画一个圆
- Java并发编程(一)线程安全的类的特性
- maven中添加servlet、jsp依赖
- (笔记)Spring实战_装配Bean(3)_使用表达式装配
- poj3070