zoukankan      html  css  js  c++  java
  • 二叉树的建立,以及前序,中序,后序遍历

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    typedef struct BIT_Node{//
      char data;
      struct BIT_Node *lchild;
      struct BIT_Node *rchild;
    }BIT_Node,*BITree;
    char ch;
    void CreateBiTree(BITree *T){
       scanf("%c",&ch);
       if(ch=='#'){
         (*T)=NULL;
       }else{
         (*T)=(BITree)malloc(sizeof(BIT_Node));//连接
         (*T)->data=ch;
         CreateBiTree(&(*T)->lchild);//建立左孩子
         CreateBiTree(&(*T)->rchild);//建立右孩子
       }
    }
    void preOrderTraverse(BITree T,int level)
    {
        if(T==NULL)return;
        else {
            printf("%c ",T->data);//先序遍历,意思是我先跑根节点,再跑左节点,再跑右节点
            preOrderTraverse(T->lchild,level+1);
            preOrderTraverse(T->rchild,level+1);
        }
    }
    void OrderTraverse(BITree T,int level)
    {
        if(T==NULL)return;
        else {
            OrderTraverse(T->lchild,level+1);
            printf("%c ",T->data);//中序遍历,意思是我先跑左节点再根,再右节点,再根
            OrderTraverse(T->rchild,level+1);
        }
    }
    void PostorderTraverse(BITree T,int level)
    {
        if (T==NULL)return;
        else {
            PostorderTraverse(T->lchild,level+1);
            PostorderTraverse(T->rchild,level+1);
            printf("%c ",T->data);//后序遍历,意思是我先跑左节点,再右节点,再根。
        }
    }
    int main(){
     int level=1;
     BITree T = NULL;
     CreateBiTree(&T);//二叉树的建立,需要地址传递或者引用传递,否则建立了只在函数内部起作用
     printf("先序遍历:");
     preOrderTraverse(T,1);
     printf("
    ");
     printf("中序遍历:");
     OrderTraverse(T,1);
     printf("
    ");
     printf("后序遍历:");
     PostorderTraverse(T,1);
     printf("
    ");
     return 0;
    }
    有不懂欢迎咨询 QQ:1326487164(添加时记得备注)
  • 相关阅读:
    PAT 甲级 1101 Quick Sort
    PAT 甲级 1038 Recover the Smallest Number
    #Leetcode# 112. Path Sum
    #Leetcode# 17. Letter Combinations of a Phone Number
    #Leetcode# 235. Lowest Common Ancestor of a Binary Search Tree
    C++结构体重构
    【NOIP2016提高A组模拟9.7】鼎纹
    快速幂总结
    【NOIP2013提高组】货车运输
    【NOIP2015提高组】运输计划
  • 原文地址:https://www.cnblogs.com/bluefly-hrbust/p/9941589.html
Copyright © 2011-2022 走看看