zoukankan      html  css  js  c++  java
  • 二叉树创立及遍历

    编写程序实现二叉树的创建,先序、中序、后序的递归遍历算法。在此基础上设计一个主程序完成如下功能:

    (1)依次读入字符“ABD∅∅E∅∅C∅FG∅∅H∅∅”,按照先序建立二叉树T(∅表示空格);

    2)先序递归遍历二叉树T,输出遍历序列;

    3)中序递归遍历二叉树T,输出遍历序列;

    (4)后序递归遍历二叉树T,输出遍历序列。

    #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>
    #define MAXSIZE 70
    typedef struct BiTreeNode
    {
        char data;
        struct BiTreeNode *left;
        struct BiTreeNode *right;
    }BiTreeNode, *BiTree;
    void CreateBiTree(BiTree *T)
    {
        char val;
        scanf_s("%c", &val);
    
        if (val == '0')
            *T = NULL;  //null表示为空枝
    
        else
        {
            *T = (BiTree)malloc(sizeof(BiTreeNode));
            (*T)->data = val;
            CreateBiTree(&(*T)->left);
            CreateBiTree(&(*T)->right);
        }
    }
    void PreOrderTravel(BiTree T)
    {
        if (T == NULL)
            return;
        printf("%c ", T->data);
        PreOrderTravel(T->left);
        PreOrderTravel(T->right);
    }
    void InOrderTravel(BiTree T)
    {
        if (T == NULL)
            return;
        InOrderTravel(T->left);
        printf("%c ", T->data);
        InOrderTravel(T->right);
    }
    void TailOrderTravel(BiTree T)
    {
        if (T == NULL)
            return;
        TailOrderTravel(T->left);
        TailOrderTravel(T->right);
        printf("%c ", T->data);
    }
    int main()
    {
        
        BiTree T;
        T = (BiTree)malloc(sizeof(BiTreeNode));
    
        printf("输入结点的值:
    ");
        CreateBiTree(&T);
        printf("先序遍历:
    ");
        PreOrderTravel(T);
        printf("
    ");
        printf("中序遍历:
    ");
        InOrderTravel(T);
        printf("
    ");
        printf("后序遍历:
    ");
        TailOrderTravel(T);
        printf("
    ");
        return 0;
    }

    运行截图:

  • 相关阅读:
    死锁是什么?如何避免死锁?
    HTTP协议 (二) 基本认证
    HTTP协议
    Fiddler 教程
    Wireshark基本介绍和学习TCP三次握手
    洛谷.4512.[模板]多项式除法(NTT)
    洛谷.4238.[模板]多项式求逆(NTT)
    洛谷.3803.[模板]多项式乘法(NTT)
    UOJ.87.mx的仙人掌(圆方树 虚树)(未AC)
    BZOJ.3991.[SDOI2015]寻宝游戏(思路 set)
  • 原文地址:https://www.cnblogs.com/lumc5/p/11711828.html
Copyright © 2011-2022 走看看