1035(未完成)

归并排序不了解,先做题,后面再看,现在没有解决的就是求归并排序的中间序列的下一个序列

package com.company;

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int num=sc.nextInt();
        int[] s=new int[num];
        int[] s0=new int[num];
        int[] s1=new int[num];
        for(int i=0;i<num;i++){
            s[i]=sc.nextInt();     //3 1 2 8 7 5 9 4 6 0
            s0[i]=s[i];
        }
        for (int i=0;i<num;i++){
            s1[i]=sc.nextInt();    //1 2 3 7 8 5 9 4 6 0
        }

        //接下来对s1进行获取判断
        int k=0;
        int a=0;
        for (int i=num-1;i>=0;i--){
            if (s1[i]==s[i]){
                k=i;
            }else{
                k=i+1;
                break;
            }
        }
        boolean b=false;
        for (int i=k-1;i>=1;i--){
            if (s1[i]-s1[i-1]>=0){
                b=true;
            }else{
                b=false;
                a=1;
                System.out.println("Merge Sort");
                break;
            }
            if (b&&i==1){
                a=0;
                System.out.println("Insertion Sort");
                break;
            }
        }
        //求下一步迭代的值
        if (a==0){//插入排序
            Arrays.sort(s1,0,k+1);
            for (int i=0;i<num;i++){
                if (i<num-1){
                    System.out.print(s1[i]+" ");
                }else{
                    System.out.print(s1[i]);
                }
            }
        }
        if (a==1){
            //对s1进行操作
            for (int i=0;i<num;i++){

            }
        }

    }
}

猜你喜欢

转载自www.cnblogs.com/zhuzehua/p/9834768.html