public void mergeSort(int[] arry, int low ,int high){
if (low < high){
int middle = ( low +high)/2 ;
mergeSort(arry,low,middle);
mergeSort(arry,middle+1,high);
sort(arry,low,middle,high);
}
}
public void sort(int[] arry ,int low ,int middle ,int high){
int[] temp = new int[high - low + 1] ;
int i = low ;
int j = middle +1 ;
int index=0; ;
while (i <= middle && j <= high){
if(arry[i] < arry[j]){
temp[index++] =arry[i++] ;
}else{
temp[index++] =arry[j++] ;
}
}
while (i <= middle) {
temp[index++] =arry[i++] ;
}
while (j <= high){
temp[index++] =arry[j++] ;
}
for (int m= 0;m < temp.length; m++) {
arry[low + m] = temp[m];
}
}