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;
    }
  • 相关阅读:
    虚函数中的变量作用域问题
    C++技能重拾2
    C++技能重拾
    位运算取第一个非0的位 r & (~(r-1))
    ThoughtWorks微服务架构交流心得
    字符串匹配的sunday算法
    Codeforces Round #270(利用prim算法)
    HDFS建筑与shell操作
    Spark SQL 源代码分析系列
    HDU 4686 Arc of Dream(递归矩阵加速)
  • 原文地址:https://www.cnblogs.com/dongling/p/5723561.html
Copyright © 2011-2022 走看看