zoukankan      html  css  js  c++  java
  • 二叉树的序遍历

    题目描述

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

    输入输出格式

    输入描述:

    第一行一个整数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("
    ");
        B(1);
        printf("
    ");
        C(1);
        return 0;
    }
    View Code
  • 相关阅读:
    删除数据时弹出一个确认对话框
    制作一个页面弹出窗口
    网页授权——扫二维码获取openid
    删除自定义菜单
    创建自定义菜单
    微信公众平台开发接口PHP SDK
    上传文件
    Fibonacci
    最大公约数和最小公倍数
    完数【转载】
  • 原文地址:https://www.cnblogs.com/soul-love/p/5271461.html
Copyright © 2011-2022 走看看