用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c++代码库

递归 根据后序和中序遍历输出先序遍历

2017-11-08 作者: 芙蓉妹妹举报

[c++]代码库

#include<bits/stdc++.h>
using namespace std;
int pre[31],l=0;
void change(int z[],int h[],int length)
{
    if(length)
    {
        int index=0;
        int temp=h[length-1];
        pre[l++]=temp;
        while(index<length)
        {
            if(z[index]==temp)
                break;
            index++;
        }
        change(z,h,index);
        change(z+index+1,h+index,length-index-1);
    }
}
int main ()
{
    int n,i;
    int in[31],post[31];
    cin>>n;
    for(i=0;i<n;i++)
        cin>>post[i];//后序
    for(i=0;i<n;i++)
        cin>>in[i];//中序
    change(in,post,n);
    cout<<"Preorder:";
    for(i=0; i<n; i++)
        cout<<" "<<pre[i];
    return 0;
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...