zoukankan      html  css  js  c++  java
  • 二叉树的创建与遍历浅析

    今天初步了解了二叉树的定义和创建及遍历方法,总结一下

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    using namespace std;
    //二叉树结点的定义
    typedef struct BTNode
    {
    char data;
    struct BTNode *lc;
    struct BTNode *rc;
    }BTNode,*BiTree;

    void Creat(BiTree &T)
    {
        char ch;
        scanf("%c",&ch);
        if(ch=='#')
      T=NULL;
        else{
            T=new BTNode;
            T->data=ch;
            Creat(T->lc);
            Creat(T->rc);
        }
    }

    //先序遍历
    void PreOrder(BiTree T)
    {
        if(T)
        {
            cout<<T->data<<' ';
            PreOrder(T->lc);
            PreOrder(T->rc);
        }
    }

    //中序遍历
    void InOrder(BiTree T)
    {
        if(T)
        {
            InOrder(T->lc);
            cout<<T->data<<' ';
            InOrder(T->rc);
        }
    }

    //后序遍历
    void PostOrder(BiTree T)
    {
        if(T)
        {
            PostOrder(T->lc);
            PostOrder(T->rc);
            cout<<T->data<<' ';
        }
    }
    int main()
    {
        BiTree T;
        printf("Input nodes of binary tree:(NULL=='#') ");
        Creat(T); 
        cout<<" PreOrder traverse: ";
     PreOrder(T);
     cout<<" InOrder traverse: ";
     InOrder(T);
        cout<<" PostOrder traverse: ";
     PostOrder(T);
     return 0;
    }

  • 相关阅读:
    一行转多行 及多行转一行的 hive语句
    sparkSQL、dataframe
    特征工程
    python相关
    pyspark dataframe 格式数据输入 做逻辑回归
    hive sql 随机抽样
    pyspark 逻辑回归程序
    3.27模拟赛
    luogu P3217 [HNOI2011]数矩形
    bzoj 4403 序列统计
  • 原文地址:https://www.cnblogs.com/yfz1552800131/p/5413590.html
Copyright © 2011-2022 走看看