// Program that implements Merge sort // Best case: O(nlogn) // Average case: O(nlogn) // Worst case: O(nlogn) public class MergeSortMain { static int arr[]={100,20,15,30,5,75,40}; public static void main(String args[]) { System.out.println("Array before sorting:"); printArray(arr,0,arr.length-1); System.out.println("-----------------------------"); mergeSort(0,arr.length-1); System.out.println("-----------------------------"); System.out.println("Array After sorting:"); printArray(arr,0,arr.length-1); } public static void mergeSort(int start,int end) { int mid=(start+end)/2; if(start