• SDUT 3341 数据结构实验之二叉树二:遍历二叉树


    数据结构实验之二叉树二:遍历二叉树

    Time Limit: 1000MS Memory Limit: 65536KB

    Problem Description

    已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。

    Input

    连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。

    Output

    每组输入数据对应输出2行:
    第1行输出中序遍历序列;
    第2行输出后序遍历序列。

    Example Input

    abc,,de,g,,f,,,

    Example Output

    cbegdfa
    cgefdba

    DQE

    根据二叉树的完全先序序列创建二叉树并按照中序后序输出,使用简单递归即可完成,本题纯粹一水题,鉴定完毕。

    附代码:
     1 #include <iostream>
     2 #include <cstdio>
     3 
     4 using namespace std;
     5 
     6 struct Tree
     7 {
     8     char c;
     9     Tree *lt,*rt;
    10 };
    11 
    12 Tree *creat(char *&xx)
    13 {
    14     if(*xx=='')
    15         return NULL;
    16     if(*xx==',')
    17     {
    18         xx++;
    19         return NULL;
    20     }
    21     Tree *r=new Tree;
    22     r->c=*xx++;
    23     r->lt=creat(xx);
    24     r->rt=creat(xx);
    25     return r;
    26 }
    27 
    28 void mout(Tree *r)
    29 {
    30     if(r==NULL)
    31         return ;
    32     mout(r->lt);
    33     printf("%c",r->c);
    34     mout(r->rt);
    35 }
    36 
    37 void hout(Tree *r)
    38 {
    39     if(r==NULL)
    40         return ;
    41     hout(r->lt);
    42     hout(r->rt);
    43     printf("%c",r->c);
    44 }
    45 
    46 int main()
    47 {
    48     Tree *root;
    49     char xx[55],*p;
    50     while(scanf("%s",xx)!=EOF)
    51     {
    52         p=xx;
    53         root=creat(p);
    54         mout(root);
    55         printf("
    ");
    56         hout(root);
    57         printf("
    ");
    58     }
    59     return 0;
    60 }
    61 
    62 /***************************************************
    63 User name: ***
    64 Result: Accepted
    65 Take time: 0ms
    66 Take Memory: 156KB
    67 Submit time: 2016-11-03 17:44:34
    68 ****************************************************/
  • 相关阅读:
    模型层之多表操作
    模型层:表单操作
    Django模板层
    第六十课、数组类模板
    第五十九课、类模板的深度剖析
    第五十八课、类模板的概念和意义
    第五十七课、深入理解函数模板
    第五十六课、函数模板的概念和意义
    第五十五课、经典问题解析四
    第五十四课、被遗弃的多重继承(下)
  • 原文地址:https://www.cnblogs.com/Leroscox/p/6031387.html
Copyright © 2020-2023  润新知