首页 > 其他 > 详细

二叉树的序遍历

时间:2016-03-13 12:48:02      阅读:151      评论:0      收藏:0      [点我收藏+]

题目描述

    求一棵二叉树的前序遍历,中序遍历和后序遍历。

输入输出格式

输入描述:

第一行一个整数n,表示这棵树的节点个数。

接下来n行每行2个整数L和R。第i行的两个整数Li和Ri代表编号为i的节点的左儿子编号和右儿子编号。

输出描述:

输出一共三行,分别为前序遍历,中序遍历和后序遍历。编号之间用空格隔开。

输入输出样例

输入样例#1:

5

2 3

4 5

0 0

0 0

0 0

输出样例#1:

1 2 4 5 3

4 2 5 1 3

4 5 2 3 1

思路

递归。先写好先序,再将先序略微改动,复制粘贴三遍即可。

代码

技术分享
#include<stdio.h>
int a[100],b[100];
void A(int i)
{
    printf("%d ",i);
    if(a[i])
      A(a[i]);
    if(b[i])
      A(b[i]);
}
void B(int i)
{
    if(a[i])
      B(a[i]);
    printf("%d ",i);  
    if(b[i])
      B(b[i]);
}
void C(int i)
{
    if(a[i])
      C(a[i]);
    if(b[i])
      C(b[i]);
    printf("%d ",i);
}
int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
       scanf("%d%d",&a[i],&b[i]);
    A(1);
    printf("\n");
    B(1);
    printf("\n");
    C(1);
    return 0;
}
View Code

 

二叉树的序遍历

原文:http://www.cnblogs.com/soul-love/p/5271461.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!