public class mergeSort {
static Comparable[] a= {1,4,2,5,3,7,6,8,9,10};
static int[] b=new int[11];
public static void main(String[] args) {
mergeSort(a,0,a.length-1);
for(int i=0;i
System.out.println(a[i]+" ");
}
}
public static void mergeSort(Comparable a[],int left,int right) {
if(left
mergeSort(a,left,i);
mergeSort(a,i+1,right);
merge(a,b,left,i,right);
copy(a,b,left,right);
}
}
private static void copy(Comparable[] a2, int[] b2, int left, int right) {
// TODO Auto-generated method stub
for(int i=left;i
public static void merge(Comparable[]c,int[] b2,int l,int m,int r) {
int i=l,j=m+l,k=l;
while((i<=m)&&(j<=r)){
if(c[i].compareTo(c[j])<=0)
b2[k++]=(int) c[i++];
else b2[k++]=(int) c[j++];
}
if(i>m) {
for(int q=j;q<=r;q++)
b2[k++]=(int) c[q];
}
else {
for(int q=i;q<=m;q++)
b2[k++]=(int) c[q];
}}}



