二叉树按层遍历输出——双指针法(图解)
来源:互联网 发布:爱奇艺获取网站源码 编辑:程序博客网 时间:2024/05/17 23:49
(一)申请一个vector的容器vt。
(二)设置两个指针(当然,不是必须是指针形式的指针,可以用数组的下标代替,只是采用指针这个思想),这两个指针一个指向当前访问的节点——cur(标志目前访问的是哪个节点),另外一个指向当前层访问节点的最后一个节点——end(标志当前层访问结束)。
(三)对两个指针的初始化:首先在根节点不为NULL的情况下,将根节点装入容器,然后cur从0开始,end等于容器的长度(即end=1)。
(四)过程进行时
(五)代码
void print_tree(tree *root){ vector<tree*> vt; int cur = 0, end = 0; vt.push_back(root); while (cur<vt.size()) { end = vt.size(); while(cur<end) { printf("%c ", vt[cur]->date);//输出根节点的值 if (vt[cur]->lchild) vt.push_back(vt[cur]->lchild);//将左孩子加入,以便下一次循环访问 if (vt[cur]->rchild) vt.push_back(vt[cur]->rchild);//将右孩子加入,以便下一次循环访问 cur++; } printf("\n"); }}
(六)结果图
阅读全文
0 0
- 二叉树按层遍历输出——双指针法(图解)
- 二叉树遍历(图解)
- 二叉树遍历(图解)
- 二叉树——创建,递归遍历输出
- 数据结构—二叉树的创建 遍历 输出
- 图解二叉树的遍历
- 二叉树层次遍历(单层输出)
- 图解二叉树及二叉树遍历
- 非递归前序遍历二叉树(图解)
- 非递归中序遍历二叉树(图解)
- 后序线索化二叉树及遍历(图解)
- isabellezhou 图解二叉树遍历(递归调用)
- 重建二叉树——输入前序、中序遍历构建二叉树并输出后序遍历
- 二叉树遍历的递归实现图解
- 二叉树的三种遍历图解
- 用行列指针遍历输出
- Binary Tree Level Order Traversal II 二叉树按层遍历(反向输出)@LeetCode
- 图解数据结构(8)——二叉堆
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- No module named 'cv2'出错
- 低功耗蓝牙cc2541学习笔记之协议栈工作原理
- GitHub上排名前100的Android开源库介绍
- 公告:iTest新版本发布,率先支持Android7.0+
- 二叉树按层遍历输出——双指针法(图解)
- 【Linux相关】linux大文件分割与合并
- [FWT] UOJ #310. 【UNR #2】黎明前的巧克力
- atcoder grand Contest 018 A
- Android中实现延时执行操作的几种方法
- windows启动redis
- React-引领未来的用户界面开发框架-读书笔记(一)
- EXPDP/IMPDP 中的并行度PARALLEL参数 (并行)
- 字典 拷贝