Create a public class named
Mergesort that provides a single instance method (this is required for testing)
mergesort accepts an array of
ints and returns a sorted (ascending) array.
You should not modify the passed array.
If the array that is passed is
null you should throw an
Mergesort should extend
Merge, and its parent provides several helpful methods:
int merge(int first, int second): this merges two sorted arrays into a second sorted array. If either array is
nullit throws an
IllegalArgumentException, so don't call it on
int copyOfRange(int original, int from, int to): this acts as a wrapper on
java.util.Arrays.copyOfRange, accepting the same arguments and using them in the same way.
(You can't use
java.util.Arrays in this problem for reasons that will become obvious if you inspect the rest of
Note that you do need to use
merge and call it the correct number of times.
This will be tested during grading.
You should use an array of size 1 or 0 as your base case.