```java
import java.util.Random;
public class Sort {
static int count=1;
public static int[] sort(int arr[]){
if(arr.length<2)return arr;
int left[]=new int[arr.length/2];
int right[]=new int[arr.length-arr.length/2];
int j=0;
for(int i=0;i<left.length;i++){
left[i]=arr[j++];
}
for(int i=0;i<right.length;i++){
right[i]=arr[j++];
}
return merge(sort(left),sort(right));
}
public static int[] merge(int left[],int right[]){
int arr[]=new int [left.length+right.length];
for(int i=0,j=0,k=0;k<arr.length;k++){
if(i>=left.length){
arr[k]=right[j++];
} else if(j>=right.length){
arr[k]=left[i++];
} else if(left[i]>right[j]){
arr[k]=right[j++];
} else {
arr[k]=left[i++];
}
}
return arr;
}
public static void show(int arr[]){
int flag=0;
for(int i=0;i<arr.length;i++){
if(flag!=0)System.out.print("\t");
System.out.print(arr[i]);
flag=1;
}
System.out.print("\n");
}
public static void main(String args[]){
Random rd=new Random(100);
int arr[]=new int[10];
for(int i=0;i<arr.length;i++){
arr[i]=rd.nextInt(100);
}
System.out.println("排序前");
show(arr);
arr=sort(arr);
System.out.println("排序后");
show(arr);
}
}