#include <iostream>
#include <stack>
using namespace std;
struct node{
int data;
struct node* lchild;
struct node* rchild;
};
typedef struct node Node;
void inOrderTraverse(Node* root){
Node* p = root;
stack<Node*> s;
while(p||!s.empty()){
if(p){
s.push(p);
p = p->lchild;
}else{
p = s.top();
s.pop();
cout<<p->data<<" ";
p = p->rchild;
}
}
}
int main(){
Node node0={0,NULL,NULL};
Node node1={1,NULL,NULL};
Node node4={4,NULL,NULL};
Node node2={2,NULL,NULL};
Node node3={3,NULL,NULL};
Node node5={5,NULL,NULL};
Node node6={6,NULL,NULL};
Node node7={7,NULL,NULL};
Node node8={8,NULL,NULL};
node0.lchild = &node1;
node0.rchild = &node4;
node1.lchild = &node2;
node1.rchild = &node3;
node4.lchild = &node5;
node4.rchild = &node8;
node5.lchild = &node6;
node5.rchild = &node7;
inOrderTraverse(&node0);
}
分享到:
相关推荐
一个简单的课程设计,使用Java来实现二叉树的中序遍历
二叉树 中序遍历自己写的c++实现,希望大家受益
用C++写的二叉树先序遍历、中序遍历和后序遍历非递归算法
根据先序与中序遍历结果建立二叉树 输入为: 第一行:二叉树的先序遍历结果 第二行:二叉树的中序遍历结果 例如: ①输入aa则返回的指针指向的二叉树应该就是仅有一个节点,值为a. ②输入123213则返回的指针指向...
用C++写的,包括二叉树的构建,二叉树的先序遍历、中序遍历和后序遍历非递归算法。
实现了数据结构中二叉树的中序遍历,是用递归做的,程序简单易懂。
C语言实现二叉树的中序遍历(非递归),本人亲自写的!
C语言实现二叉树的中序遍历(递归)。大家下载看看哦!有用的!
c++环境下 二叉树的存储结构及实现 中序遍历
二叉树的中序线索化及中序遍历,代码可运行
用C语言对输入二叉树节点进行中序遍历,输出遍历顺序。包括递归实现和非递归实现两种方式。还有哈夫曼编码
数据结构C++二叉链表的先序遍历、中序遍历和后序遍历实现
二叉树已知后序和中序遍历求前序遍历,C++编写已通过编译
2)对这棵二叉树进行先序遍历(采用递归算法实现)与中序遍历(采用非递归算法实现),分别输出结点的遍历序列; 2)求二叉树的深度(选做)。 这是本人所做的作业,虽然分有点多,但还是有所值的!
小小学习,C语言数据结构,中序遍历二叉树非递归算法
java编程,二叉树的中序遍历,递归实现
设二叉树结点值为大写字母,输入二叉树的前序遍历和中序遍历序列,生成此二叉树,输出该二叉树的后序遍历和按层次遍历序列。输入某结点值,在二叉树中查找该结点,若该结点存在,则输出从根到该结点的路径,否则给出...
二叉树的中序遍历便利算法(C语言),数据结构中学到的算法
数据结构二叉树链式结构的前序遍历,中序遍历,后序遍历用递归的方法,层级遍历采用队列结构
二叉树的递归遍历,中序遍历,先序遍历,后序遍历,通过学习二叉树的遍历,可以让我们更紧一步掌握数据的遍历