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;
    }

      

  • 相关阅读:
    pathon学习总结(二)pathon的基础语法
    python学习总结(一),第一个python程序的编写
    数组中查找最大值和最小值 (两种方法)
    websocket----聊天室,推送等服务
    django-celery 应用方法
    vue-resource
    Vue-router
    vue 属性绑定
    Vue的生命周期以及钩子函数
    安装 vue 及 组件
  • 原文地址:https://www.cnblogs.com/jx-yangbo/p/4877147.html
Copyright © 2011-2022 走看看