• 数据结构——二叉树的遍历


     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 
     4 #define OVERFLOW 0
     5 typedef char Elemtype;
     6 typedef struct TreeNode
     7 {
     8     Elemtype data;
     9     struct TreeNode *Lchild;
    10     struct TreeNode *Rchild;
    11 } TreeNode,*BiTree;
    12 
    13 void CreateBiTree(BiTree *T)
    14 {
    15     char ch;
    16     scanf("%c",&ch);
    17     if(ch == '#')
    18         *T = NULL;
    19     else
    20     {
    21         *T = (BiTree)malloc( sizeof(TreeNode) );
    22         if(!*T)
    23             exit(OVERFLOW);
    24         (*T)->data = ch;
    25         CreateBiTree(&(*T)->Lchild);
    26         CreateBiTree(&(*T)->Rchild);
    27 
    28     }
    29 }
    30 void PreOrderTraverse(BiTree T)
    31 {
    32     if(T == NULL)
    33         return ;
    34     printf("%c",T->data);
    35     PreOrderTraverse(T->Lchild);
    36     PreOrderTraverse(T->Rchild);
    37 }
    38 
    39 void InOrderTraverse(BiTree T)
    40 {
    41     if(T == NULL)
    42         return ;
    43     InOrderTraverse(T->Lchild);
    44     printf("%c",T->data);
    45     InOrderTraverse(T->Rchild);
    46 }
    47 void PostOrderTraverse(BiTree T)
    48 {
    49     if(T == NULL)
    50         return ;
    51     PostOrderTraverse(T->Lchild);
    52     PostOrderTraverse(T->Rchild);
    53     printf("%c",T->data);
    54 }
    55 int main()
    56 {
    57     BiTree T;
    58     CreateBiTree(&T);
    59     PreOrderTraverse(T);
    60     printf("
    ");
    61     InOrderTraverse(T);
    62     printf("
    ");
    63     PostOrderTraverse(T);
    64     printf("
    ");
    65     return 0;
    66 }
    View Code
  • 相关阅读:
    EOS概念理解总结
    boost asio one client one thread
    EOS 数据签名与公匙验证代码用例
    EOS 智能合约编写(一)
    EOS多节点同步代码分析
    EOS 用户权限相关命令
    EOS 多主机多节点配置终极命令
    EOS多主机多节点环境配置
    ubuntu命令错误集
    java多线程中的调度策略
  • 原文地址:https://www.cnblogs.com/biu-biu-biu-/p/6063397.html
Copyright © 2020-2023  润新知