import java.util.*; public class Main { public static void main(String[] args) { int[] num={2,1,45,13,34,43,25,9,6,11}; MergeSort(num,0,num.length-1); for(int i=0;i<num.length;i++) System.out.println(num[i]); } public static void MergeSort(int[] num,int left,int right) { if(left<right) { int middle=(left+right)/2; MergeSort(num,left,middle); MergeSort(num,middle+1,right); Merge(num,left,middle,right); } } public static void Merge(int[] num,int left,int middle,int right) { int[] tmp=new int[right-left+1]; int i=left,j=middle+1,k=0; while(i<=middle&&j<=right) { if(num[i]<num[j]) tmp[k++]=num[i++]; else tmp[k++]=num[j++]; } if(i<=middle) { while(i<=middle) tmp[k++]=num[i++]; } if(j<=right) { while(j<=right) tmp[k++]=num[j++]; } for(i=0;i<tmp.length;i++) num[i+left]=tmp[i]; } }