@@ -0,0 +1,1264 @@
+package labtwo.mergesort;%0A%0Aimport java.util.Arrays;%0Aimport labone.insertionsort.*;%0A%0Apublic class Driver %7B%0A%0A%09public static void main(String%5B%5D args) %7B%0A%09%09%0A%09%09int n;%0A%09%09for (int power = 4; power %3C= 25; power++)%7B%0A%09%09%09n = (int) Math.pow(2, power);%0A%09%09%09int%5B%5D iArray = new int%5Bn%5D;%0A%09%09%09int%5B%5D mArray = new int%5Bn%5D;%0A%09%09%09int%5B%5D temp   = new int%5Bn%5D;%0A%09%09%09for (int i = 0; i %3C n; i++) %7B%0A%09%09%09%09iArray%5Bi%5D = (int) (Math.random() * (n + 1));%0A%09%09%09%09mArray%5Bi%5D = iArray%5Bi%5D;%0A%09%09%09%7D%0A%09%09%09%0A%09%09%09System.out.println(%22Merge sort iteration %22 + power + %22 %22);%0A%09%09%09startTimer();%0A%09%09%09MergeSort.mergeSort(iArray, temp, 0, n - 1);%0A%09%09%09stopTimer();%0A%09%09%09%0A%09%09%09System.out.println%0A%09%09%09(%22Insertion sort iteration %22 + power + %22 %22);%0A%09%09%09startTimer();%0A%09%09%09InsertionSort.insertionSort(mArray);%0A%09%09%09stopTimer();%0A%09%09%7D%0A%09%7D%0A%09%0A    private static void startTimer() %7B%0A        timeInitial = System.nanoTime();%0A    %7D%0A    %0A    private static void stopTimer() %7B%0A        timeFinal = System.nanoTime();%0A        System.out.println(%22timeInital: %22 + timeFinal);%0A        System.out.println(%22timeFinal: %22 + timeFinal);%0A        timeElapsed = (timeFinal - timeInitial);%0A        System.out.println(%22timeElapsed: %22 + timeElapsed + %22%5Cn%22);%0A    %7D%0A%0A    protected static long timeInitial;%0A    protected static long timeFinal;%0A    protected static long timeElapsed;%0A%7D%0A

Create Driver.java