package Suanfa;
public class exper3_mergeSort {
public static void main(String[] args) {
int[] arr = {4, 8, 3, 9, 33, 22, 44, 25};
mergeSort1(arr,0, arr.length);
}
public static void mergeSort1(int[] arr, int start, int end){
int len = end - start;
if(len == 1 || len == 0){
return;
}
int mid = start + (len / 2);
mergeSort1(arr, start, mid);
mergeSort1(arr, mid, end);
mergeSort2(arr, start, mid, end);
}
public static void mergeSort2(int[] arr, int start, int mid, int end){
int[] temp = new int[end - start];
int i = start;
int j = mid;
int index = 0;
while (i < mid && j < end){
if(arr[i] > arr[j]){
temp[index] = arr[j];
j++;
}else{
temp[index] = arr[i];
i++;
}
index++;
}
while (i < mid){
temp[index++] = arr[i++];
}
while (j < end){
temp[index++] = arr[j++];
}
for (int t = 0; t < index; t++) {
arr[start + t] = temp[t];
}
printArray(arr);
}
public static void printArray(int[] arr){
System.out.println("-------------------");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
System.out.println("------------------");
}
}