栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

怎样把下列c语言代码转变为Java语言

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

怎样把下列c语言代码转变为Java语言

#include
static int c = 0;
int Find(int sum,int pos[],int in[],int N,int length){
    int sum_ = 0,i,i_;
    int count = 0;
    for(i = 0,i_ = 0;i < N;i++){
        if(!sum_){
            i = i_;
            i_++;
        }
        count++;
        sum_ += pos[i];
        if(sum_ == sum&&count == length)
            break;
        else if((count == length&&sum_ != sum)||sum_ > sum)
            sum_ = count = 0;
    }
    for(i_ = 0;pos[i] != in[i_];i_++);
    return i_;
}
void gx(int low,int high,int mid,int pos[],int in[],int N){
    int sum = 0,i;
    c++;
    if(c != N)
        printf("%d ",in[mid]);
    else
        printf("%d",in[mid]);
    if(low < mid){
        for(i= 0;low+i < mid;i++)
            sum += in[low+i];
        gx(low,mid-1,Find(sum,pos,in,N,i),pos,in,N);
    }
    sum = 0;
    if(high > mid){
        for(i= 1;mid+i <= high;i++)
            sum += in[mid+i];
        gx(mid+1,high,Find(sum,pos,in,N,i-1),pos,in,N);
    }
}
int main()
{
    int N;
    scanf("%d",&N);
    int in[N];
    int pos[N];
    int i,i_;
    
    for(i = 0;i < N;i++)
        scanf("%d",&pos[i]);
    for(i = 0;i < N;i++)
        scanf("%d",&in[i]);
    printf("Preorder: ");
    for(i = 0;pos[N-1] != in[i];i++);
    gx(0,N-1,i,pos,in,N);
}
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958034.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号