zoukankan      html  css  js  c++  java
  • 算法学习(5)----二叉树前序、中序、后序遍历互相转换

    代码:

    #include <iostream>
    using namespace std;
    
    void BinaryTreeFromInOrderAndPreOrderToPostOrder(char InOrder[],char PreOrder[],int length)
    {
        if(length<=0){
            return;
        }
        int rootIndex=0;
        for(;rootIndex<length;rootIndex++){
            if(InOrder[rootIndex]==PreOrder[0])
                break;
        }
        BinaryTreeFromInOrderAndPreOrderToPostOrder(InOrder,PreOrder+1,rootIndex);
        BinaryTreeFromInOrderAndPreOrderToPostOrder(InOrder+rootIndex+1,PreOrder+rootIndex+1,length-rootIndex-1);
        cout<<PreOrder[0];
    }
    
    void BinaryTreeFromInOrderAndPostOrderToPreOrder(char InOrder[],char PostOrder[],int length)
    {
        if(length<=0){
            return ;
        }
        int rootIndex=0;
        for(;rootIndex<length;rootIndex++){
            if(InOrder[rootIndex]==PostOrder[length-1])
                break;
        }
        cout<<PostOrder[length-1];
        BinaryTreeFromInOrderAndPostOrderToPreOrder(InOrder,PostOrder,rootIndex);
        BinaryTreeFromInOrderAndPostOrderToPreOrder(InOrder+rootIndex+1,PostOrder+rootIndex,length-rootIndex-1);
    }
    
    int main(int argc,char* argv[])
    {
        char pre[]="GDAFEMHZ";
        char in[]="ADEFGHMZ";
        char post[]="AEFDHZMG";
        cout<<"The original strings are:
    ";
        cout<<"Pre:"<<pre<<endl
            <<"In:"<<in<<endl
            <<"Post:"<<post<<endl;
    
        cout<<"From InOrder And PreOrder To PostOrder:
    ";
        BinaryTreeFromInOrderAndPreOrderToPostOrder(in,pre,8);
        cout<<endl;
        cout<<"From InOrder And PostOrder To PreOrder:
    ";
        BinaryTreeFromInOrderAndPostOrderToPreOrder(in,post,8);
        cout<<endl;
        return 0;
    }
  • 相关阅读:
    redhat 5.0 python2.4升级到2.7
    bindiff 4.2使用
    patchdiff2 函数比较插件
    OpenGL 获取当前屏幕坐标对应的三维坐标
    CsGL着色的三角形
    glEnable(GL_DEPTH_TEST)作用
    OpenGL之抗锯齿 以及 线宽的设置
    glLoadIdentity
    2.AngularJS-验证
    1.MVC概要与angular概要、模板与数据绑定
  • 原文地址:https://www.cnblogs.com/dongling/p/5723561.html
Copyright © 2011-2022 走看看