zoukankan      html  css  js  c++  java
  • 数据结构实验之二叉树二:遍历二叉树

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

    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

    cbegdfacgefdba

    #include <stdio.h>
    char st[150];
    int g=0;
    typedef struct node
    {
    int data;
    struct node *lchild,*rchild;
    }Tree;
    struct node *creat(Tree *p)
    {
    char c = st[g++];
    if(c==','||c=='\0')
    {
    return NULL;
    }
    else
    {
    p = new Tree;
    p->data = c;
    p->lchild = creat(p->lchild);
    p->rchild = creat(p->rchild);
    }
    return p;
    }
    void interval(Tree *p)
    {
    if(p)
    {
    interval(p->lchild);
    printf("%c",p->data);
    interval(p->rchild);
    }
    }
    void final(Tree *p)
    {
    if(p)
    {
    final(p->lchild);
    final(p->rchild);
    printf("%c",p->data);
    }
    }
    int main()
    {
    while(~scanf("%s",st))
    {
    g = 0;
    Tree *p;
    p = creat(p);
    interval(p);
    printf("\n");
    final(p);
    printf("\n");


    }
    return 0;
    }


  • 相关阅读:
    Hello, Fedora.
    Android与Linux分道扬镳
    VIM教程V1.5梁昌泰
    强大的NTFS文件系统
    Linux下的cc与gcc
    g++与gcc的区别
    Fedora下解压缩的相关问题
    The GNU C Reference Manual
    Linux Kbuild文档
    实验一:计算机是怎样工作的
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11782132.html
Copyright © 2011-2022 走看看