zoukankan      html  css  js  c++  java
  • 前序、中序、后序遍历二叉树

    /*(1) 建立一棵含有n个结点的二叉树,采用二叉链表存储
    建立结点的结构体类型;

    按照先序遍历法将二叉树的序列给出;

    动态申请内存空间存储新结点;

    建立结点间的关系;
    (2) 前序(或中序、后序)遍历该二叉树*/
    #include<stdio.h>
    #include<malloc.h>

    // char DataType;
    typedef struct Node
    {
    char data;
    struct Node *Lchild;
    struct Node *Rchild;
    }BiTNode,*BiTree;

    BiTree Creat()
    {
    BiTNode *root;
    // char data;
    char ch;
    printf("请输入:");
    scanf("%c",&ch);
    getchar();
    if(ch=='!')
    root=NULL;
    else
    {
    root=(BiTNode *)malloc(sizeof(BiTNode));
    root->data=ch;
    root->Lchild=Creat();
    root->Rchild=Creat();

    }
    return root;
    }
    void PreOrder(BiTree root)
    {
    if(root!=NULL)
    {
    printf("%c",root->data);
    PreOrder(root->Lchild);
    PreOrder(root->Rchild);
    }
    }
    void InOrder(BiTree root)
    {
    if(root!=NULL)
    {
    InOrder(root->Lchild);
    printf("%c",root->data);
    InOrder(root->Rchild);
    }
    }
    void PostOrder(BiTree root)
    {
    if(root!=NULL)
    {
    PostOrder(root->Lchild);
    PostOrder(root->Rchild);
    printf("%c",root->data);
    }
    }

    void main()
    {
    BiTNode *root=NULL;
    root=Creat();
    printf("该树的前中后序遍历依次为: ");
    PreOrder(root);
    printf(" ");
    InOrder(root);
    printf(" ");
    PostOrder(root);
    printf(" ");
    }

    如图所示:

                 

  • 相关阅读:
    【BZOJ 1455】罗马游戏
    【UR #2】树上GCD
    1067: [SCOI2007]降雨量
    1068: [SCOI2007]压缩
    1066: [SCOI2007]蜥蜴
    1065: [NOI2008]奥运物流
    1064: [Noi2008]假面舞会
    1063: [Noi2008]道路设计
    2329: [HNOI2011]括号修复
    2734: [HNOI2012]集合选数
  • 原文地址:https://www.cnblogs.com/yjm5/p/6131055.html
Copyright © 2011-2022 走看看