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(" ");
    }

    如图所示:

                 

  • 相关阅读:
    Laravel之路——缓存使用
    Laravel之路——file缓存修改为redis缓存
    PHP之路——Redis安装
    Laravel之路——事务
    Laravel框架——任务调度(cron)
    PHPStorm——配置修改
    Laravel框架——分页
    Laravel框架——Session操作
    Laravel框架——自己写的类找不到
    iwlist/iwconfig/iw命令
  • 原文地址:https://www.cnblogs.com/yjm5/p/6131055.html
Copyright © 2011-2022 走看看