public class MergeSorterO { public static void sort(Comparable[] array) { sort(array,0,array.length); } public static void sort(Comparable[] array,int start,int end) { if(end-start < 2) return; int mid = start+(end-start)/2; sort(array,start,mid); sort(array,mid,end); Comparable[] first = new Comparable[mid-start]; Comparable[] second = new Comparable[end-mid]; for(int i=0;i