• 二叉树的实现以及三种遍历方法--代码


     1 #include<stdio.h>
     2 #include <stdlib.h>
     3 
     4 /*树的数据类型*/
     5 typedef char TElemType;
     6 /*定义二叉树的结构*/
     7 typedef struct BiTNode
     8 {
     9     TElemType data;                    //数据
    10     struct BiTNode *left,*right;       //左右孩子节点
    11 }BiTNode,*BiTree;
    12 
    13 void createBiTree(BiTree* T)
    14 {
    15     char ch;
    16     scanf("%c",&ch);
    17     if(ch ==' ')
    18     {
    19         *T = NULL;
    20     }
    21     else
    22     {
    23         *T = (BiTNode*)malloc(sizeof(BiTNode));
    24         if(!*T) exit(-1);
    25         (*T)->data = ch;
    26         createBiTree(&(*T)->left);
    27         createBiTree(&(*T)->right);
    28     }
    29     
    30 }
    31 
    32 void preOrder(BiTree T)
    33 {
    34     if(T==NULL) return;
    35     printf("%c",T->data);
    36     preOrder(T->left);
    37     preOrder(T->right);
    38 }
    39 
    40 void InOrder(BiTree T)
    41 {
    42     if(T==NULL)return ;
    43     InOrder(T->left);
    44     printf("%c",T->data);
    45     InOrder(T->right);
    46 }
    47 
    48 void PostOrder(BiTree T)
    49 {
    50     if(T==NULL)return;
    51     PostOrder(T->left);
    52     PostOrder(T->right);
    53     printf("%c",T->data);
    54 }
    55 
    56 int main(int argc, char const *argv[])
    57 {
    58     BiTree T;
    59     createBiTree(&T);
    60     printf("先序遍历:
    ");
    61     preOrder(T);
    62     printf("
    中序遍历:
    ");
    63     InOrder(T);
    64     printf("
    后序遍历:
    ");
    65     PostOrder(T);
    66     //ABC  DE G  F   
    67     return 0;
    68 }

    结果:

     注:chcp 65001解决终端输出中文乱码问题。

    树的代码详析在下一篇中进行。

                              

  • 相关阅读:
    git创建一个空的版本库
    程序后台服务启动,MongoDB未启动(启动较慢)/(关机重启情况下)。
    启动客户端后台服务
    客户端后台服务(已注册机器)RabbitMQ未消费的情况
    MongoDB数据重复解决方案
    github中新建一个branch(分支)
    MES-后台服务卸载
    linux 第八章 高级键盘
    socketserver
    jmeter发送邮件的模板
  • 原文地址:https://www.cnblogs.com/ambdyx/p/11984776.html
Copyright © 2020-2023  润新知