// 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