} } public static void merge(int []c,int []d,int l,int m,int r) { int i=l; int j=m+1; int k=l; while((i<=m)&&(j<=r)) if(c[i]<=c[j]) d[k++]=c[i++]; else d[k++]=c[j++]; if(i>m) for(int q=j;q<=r;q++) d[k++]=c[q]; else for(int q=i;q<=m;q++) } /** * @param args */ public static void main(String[] args) { } // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); System.out.println("输入要排序的数组长度"); int n=sc.nextInt(); int []a=new int [n]; System.out.println("输入"+n+"个元素"); for(int j=0;j<n;j++) a[j]=sc.nextInt(); mergeFDG(a); System.out.println("排序后的数组为"); for(int i=0;i<a.length;i++) System.out.print(a[i]+" "); d[k++]=c[q];
结果:

