为什么80%的码农都做不了架构师?>>>   

#include <iostream>
#include <stack>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */struct Node {int data;struct Node *left;struct Node *right;Node(int x) {data = x;left = NULL;right = NULL;}
};void InOrderTraverse(struct Node *root)
{if (root == NULL) return;std::stack<struct Node *> s;struct Node *tmp = root;while (tmp != NULL || !s.empty()) {while(tmp) {s.push(tmp);tmp = tmp->left;}if (!s.empty()) {tmp = s.top();s.pop();printf("%d ", tmp->data);tmp = tmp->right;}}
}int main(int argc, char** argv)
{Node *root = new Node(1);root->left = new Node(3);root->left->left = new Node(2);root->left->right = new Node(1);root->left->right->left = new Node(1);root->right = new Node(-1);root->right->left = new Node(4);root->right->left->left = new Node(1);root->right->left->right = new Node(2);root->right->right = new Node(5);root->right->right->right = new Node(2);InOrderTraverse(root);return 0;
}

输出结果:

2 3 1 1 1 1 4 2 -1 5 2

转载于:https://my.oschina.net/tsh/blog/862623

二叉树(中序遍历)非递归相关推荐

  1. 二叉树中序遍历非递归Java

    问题来源与描述 问题来源:LeetCode 94,二叉树的中序遍历 思路 二叉树的中序遍历顺序是左,根,右. 使用递归比较简单: class Solution {public List<Inte ...

  2. Java 二叉树中序遍历(递归/非递归)

    Java 二叉树中序遍历(递归/非递归) 中序遍历 代码实现 递归方式 非递归方式 简介: 遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访 ...

  3. 二叉树中序遍历非递归算法实现详解

    二叉树是数据结构中的经典结构,也是应用很广泛的结构之一.二叉树具有一些特定的性质,如 n0 = n2+1,在一些应用中,常常要求在树中查找具有某些特征的节点,或者对树中节点进行处理,即遍历二叉树的问题 ...

  4. 二叉树后序遍历(非递归)

    原文地址为: 二叉树后序遍历(非递归) 二叉树的递归遍历算法就不用说了:在非递归算法中,后序遍历难度大,很多书上只给出思想或者几段无法直接调试的代码,甚至有些书上是错的,当时我在研究的过程中,就是按着 ...

  5. 二叉树中序遍历(递归+非递归)Java

    目录 一.结构 二.遍历二叉树 1.中序遍历(递归) 代码 图解 2.中序遍历(非递归) 代码 图解 一.结构 二.遍历二叉树 这块内容是二叉树最核心的部分.不但要掌握七种遍历的写法,前.中.后序的递 ...

  6. 二叉树——中序遍历(递归/非递归)

    中序遍历,即遍历顺序为:左节点.根节点.右节点. 二叉树节点: public class Node {public Node left;public Node right;public int val ...

  7. 二叉树中序遍历(递归法和迭代法(非递归法))——C++

    声明:本文原题主要来自力扣,记录此博客主要是为自己学习总结,不做任何商业等活动! 二叉树的遍历有前序遍历.中序遍历.后序遍历和层次遍历,其中二叉树基本知识点可以参考博主上篇博客(二叉树基本知识点图文介 ...

  8. 【C语言】二叉树中序遍历(递归和非递归)算法

    二叉树中序遍历的实现思想是: 访问当前节点的左子树: 访问根节点: 访问当前节点的右子树: 图 1 二叉树 以图  1 为例,采用中序遍历的思想遍历该二叉树的过程为: 访问该二叉树的根节点,找到 1: ...

  9. 二叉树后序遍历_二叉树后序遍历非递归实现

    二叉树的后序遍历非递归实现是三种遍历实现里面最复杂的一种了. 后序遍历的顺序是左节点-右节点-根节点,因为二叉树每个节点只有指向子节点的指针而没有指向父节点的指针,因此我们需要一个额外的变量来记录是否 ...

最新文章

  1. linux为用户配置java环境变量
  2. java生成电子证书_关于Java:使用Bouncycastle生成数字证书
  3. 正则表达式(中文表达:检查表达式符)
  4. RFID会议签到系统总结(二十一)――服务端的通讯
  5. ubuntu 打包压缩
  6. 一分钟解决 Github 访问慢
  7. 5 年之后,产品经理,没了?
  8. 怎么用睡袋拉人_宝宝晚上翻身踢被子又着凉了,别再盖被子,给宝宝穿婴儿睡袋吧...
  9. cmd做个定时弹窗_windows如何设置定时关机?
  10. 动态内存分配(malloc函数)
  11. 台式计算机硬盘的安装位置,台式机装硬盘怎么安装_台式电脑硬盘安装教程-win7之家...
  12. jquery.countdown.js 使用教程_2020年建筑教程资源近2000G免费建筑教程,分享给有需要的建筑同行...
  13. 2021年5大最佳3D动画软件
  14. Access2016学习9
  15. matlab解洛伦兹方程,用MATLAB和Simulink解决微分方程的问题:Lorenz吸引子案例研究【含Matlab代码】...
  16. leet70:爬楼梯
  17. 系统功能性/非功能性需求
  18. Java项目自动生成接口文档
  19. in-pet流浪动物远程救助领养平台
  20. 工业相机与镜头分辨率的匹配选型

热门文章

  1. python怎样打开加密的文件_如何在Python中解密OpenSSL AES加密的文件?
  2. 正在安装虚拟网络驱动程序卡住了_如何在Hyper-V、Virtual PC等虚拟机中使用USB设备...
  3. php错误84015,编译PHP OCI8磨难记
  4. 09945 oracle 解决方法_ORACLE rman与RMAN-00054ORA-09945
  5. 虚拟IO服务器,虚拟IO服务器VIOS概念.doc
  6. 【企业管理】如何降低内部成本
  7. 【设计模式】分类和定义
  8. 从个人到团队:思维转变是关键
  9. 怎样用命令行生成自己的签名文件keystore
  10. Atom JS 代码智能提示补全