public static void merge(int min, int max){
if(max - min < 2)
return;
int mid = (min + max)/2;
merge(min,mid);
for(merge(mid,max); min < mid && mid < max; min++){
if (al.get(min) > al.get(mid)) {
int temp = al.get(mid);
for(int j = mid++; j > min; al.set(j, al.get(--j)));
al.set(min, temp);
}
}
}