二叉树三序遍历
来源:互联网 发布:易语言彩票源码下载 编辑:程序博客网 时间:2024/05/29 15:38
二叉树的三序遍历只是输出的顺序不同而已
前序:输出放在最前面
中序:输出放在中间
后序:输出放在最后
求一棵二叉树的前序遍历,中序遍历和后序遍历
输入描述 Input Description
第一行一个整数n,表示这棵树的节点个数。
接下来n行每行2个整数L和R。第i行的两个整数Li和Ri代表编号为i的节点的左儿子编号和右儿子编号。
输出描述 Output Description
输出一共三行,分别为前序遍历,中序遍历和后序遍历。编号之间用空格隔开。
样例输入 Sample Input
5
2 3
4 5
0 0
0 0
0 0
样例输出 Sample Output
1 2 4 5 3
4 2 5 1 3
4 5 2 3 1
#include<cstdio>struct node{ int n,l,r; } tr[110];int n;void first(int x){printf("%d ",tr[x].n);if(tr[x].l!=0) first(tr[x].l);if(tr[x].r!=0) first(tr[x].r);}void middle(int x){if(tr[x].l!=0) middle(tr[x].l);printf("%d ",tr[x].n);if(tr[x].r!=0) middle(tr[x].r);}void last(int x){if(tr[x].l!=0) last(tr[x].l);if(tr[x].r!=0) last(tr[x].r);printf("%d ",tr[x].n);}int main(){scanf("%d",&n);for(int i=1;i<=n;i++) { scanf("%d %d",&tr[i].l,&tr[i].r); tr[i].n=i; }first(1); printf("\n");middle(1); printf("\n");last(1);return 0;}
阅读全文
0 0
- 二叉树三序遍历
- [二叉树三序遍历互求]
- 二叉树遍历、分层遍历
- 遍历二叉树--二叉树
- 二叉树遍历
- 二叉树逐层遍历
- 二叉树遍历
- 二叉树的遍历
- (原创)遍历二叉树
- 二叉树遍历-php
- 查找--遍历二叉树
- 遍历二叉树
- 二叉树遍历规则
- 二叉树的遍历
- 二叉树遍历
- 遍历二叉树
- 二叉树遍历问题
- 二叉树遍历
- Spring Data Jpa +Hibernate 入门实例
- java 线程池底层原理
- The Little Redis Book中文版 第二章
- <marquee>元素的介绍和演示
- Java中关于内存泄漏出现的原因以及如何避免内存泄漏(超详细版汇总上)
- 二叉树三序遍历
- not_interested
- 专门显示金钱文本 滚动显示
- c++使用vector来保存程序数据
- Java 集合框架源码分析(三)——HashMap
- Http
- redis 3.2 cluster高可用和数据迁移测试
- 【Qt】Qt发布可执行程序(打包依赖库)
- 完美二叉树, 完全二叉树和完满二叉树