码迷,mamicode.com
首页 > 编程语言 > 详细

归并排序模板(Java)

时间:2020-03-07 09:53:15      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:amp   tst   turn   out   print   can   system   归并   while   

import java.util.Scanner;
import java.io.BufferedInputStream;
class Main{
    static int N = (int) 1e5 + 10,len;
    static int[] q = new int[N],temp = new int[N];
    static void mergeSort(int[] q,int l,int r){
        if(l>=r) return;
        int mid=(l+r)>>1;
        mergeSort(q,l,mid);
        mergeSort(q,mid+1,r);
        int k=0,i=l,j=mid+1;
        while(i<=mid&&j<=r)
            if(q[i]<q[j])temp[k++]=q[i++];
            else temp[k++]=q[j++];
        while(i<=mid) temp[k++]=q[i++];
        while(j<=r)temp[k++]=q[j++];
        for(k=0,i=l;i<=r;++i,++k)
            q[i]=temp[k];
    }

    public static void main(String[] args){
        Scanner sc=new Scanner(new BufferedInputStream(System.in));
        len=sc.nextInt();
        for(int x=0;x<len;++x)
            q[x]=sc.nextInt();
        mergeSort(q,0,len-1);
        for(int x:q)
            System.out.print(x+" ");
    }
}

归并排序模板(Java)

标签:amp   tst   turn   out   print   can   system   归并   while   

原文地址:https://www.cnblogs.com/INnoVationv2/p/12432305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!