zoukankan      html  css  js  c++  java
  • C++二叉树

    BiTree:

    #include<iostream>
    using namespace std;
    
    struct BiTNode
    {
        char data;
        BiTNode *lchild, *rchild;
    }*T;
    //BiTNode *T;
    
    //先序递归创建二叉树
    void CreatBiTree(BiTNode* &T)      
    {
        char ch;
        if((ch=getchar()) =='#')
            T = NULL;
        else
        {
            T = new BiTNode;
            T->data = ch;
            CreatBiTree(T->lchild);
            CreatBiTree(T->rchild);
        }
    }
    
    //先序递归遍历二叉树
    void PreOrderTraverse(BiTNode* &T)      
    {
        if(T==NULL)
            return;
        else
        {
            cout<< T->data;
            PreOrderTraverse(T->lchild);
            PreOrderTraverse(T->rchild);
        }
    }
    
    //中序递归遍历二叉树
    void InOrderTraverse(BiTNode* &T)      
    {
        if(T==NULL)
            return;
        else
        {
            InOrderTraverse(T->lchild);
            cout<< T->data;
            InOrderTraverse(T->rchild);
        }
    }
    
    //后续递归遍历二叉树
    void PosOrderTraverse(BiTNode* &T)     
    {
        if(T==NULL)
            return;
        else
        {
            PosOrderTraverse(T->lchild);
            PosOrderTraverse(T->rchild);
            cout<< T->data;
        }
    }
    
    //清空树
    void DeleteTree(BiTNode* &T)
    {
        if(T!=NULL)
        {
            DeleteTree(T->lchild);
            DeleteTree(T->rchild);
            delete T;
        }
    }
    
    int main()
    {
        cout<<"创建一棵树,其中A->Z字符代表树的数据,用‘#’表示空树:"<<endl;
        CreatBiTree(T);
    
        cout<<"先序递归遍历:";
        PreOrderTraverse(T);
        cout<<endl;
    
        cout<<"中序递归遍历:";
        InOrderTraverse(T);
        cout<<endl;
    
        cout<<"后序递归遍历:";
        PosOrderTraverse(T);
        cout<<endl;
    
        /*cout<<"清空树后:";
        DeleteTree(T);
        cout<<"先序递归遍历:";
        PreOrderTraverse(T);
        cout<<endl;*/
    
        return 0;
    }

      

  • 相关阅读:
    PHP学习笔记十二【数组排序】
    PHP学习笔记十一【数组】
    PHP学习笔记十【数组】
    PHP学习笔记九【数组二】
    PHP学习笔记八【数组】
    Codeforces 612E
    Codeforces 616E
    codeforce #339(div2)C Peter and Snow Blower
    poj 1113 Mall
    poj 2187 Beauty Contest
  • 原文地址:https://www.cnblogs.com/jx-yangbo/p/4877147.html
Copyright © 2011-2022 走看看