zoukankan      html  css  js  c++  java
  • 二叉树前序创建三种遍历 代码亲测

    #include<stdio.h>
    #include<stdlib.h>

    typedef struct BitNode{
       char data;
       struct BitNode *lchild,*rchild;
    } *BiTree;

    int CreateBiTree(BiTree &T){
     char ch;
     //char ch1;
       ch =getchar();
       //ch =ch1;
       if(ch == '#' )
        T =NULL;
       else
      {
        if(!(T = (BitNode*)malloc(sizeof(BitNode)))) exit(0);
       T->data = ch;//生成根结点;
      CreateBiTree(T->lchild);//构造左子树
      CreateBiTree(T->rchild);//构造右子树
    }

    return 1;
    }
    int PreOrderTraverse(BiTree T){

    if(T){
      printf("%c",T->data);
      PreOrderTraverse(T->lchild);
      PreOrderTraverse(T->rchild);

    }
    else
    return 0;
    }

    void InOrderTraverse(BiTree T){
       if(T){
          InOrderTraverse(T->lchild);
          printf("%c",T->data);
          InOrderTraverse(T->rchild);
    }

    }


    void PostOrderTraverse(BiTree  T){
    if(T){
         PostOrderTraverse(T->lchild);//后序遍历 最左边当结点左右子树到为空时候打印
         PostOrderTraverse(T->rchild);
         printf("%c",T->data);

    }

    }

    int main(){
       BiTree T;
       CreateBiTree(T);
       printf("prenordertraverse ");
       PreOrderTraverse(T);
       printf(" postordertraverse ");
       PostOrderTraverse(T);
       printf(" inordertraverse ");
       InOrderTraverse(T);
       return 0;

    }

    每个人的强大都是从弱小开始慢慢积累起来的!!
  • 相关阅读:
    Java使用printf格式化日期
    Java时间Date类
    Java数组
    Spring Cloud Stream
    Spring Cloud Bus
    Spring Cloud Config
    api服务网关?
    SPRINGBOOT集成SWAGGER2
    MySQL锁(一)全局锁:如何做全库的逻辑备份?
    Spring的FactoryBean
  • 原文地址:https://www.cnblogs.com/gaoanchen/p/3304630.html
Copyright © 2011-2022 走看看