Quiz 6, 10/4
Suppose that the input array is "nearly sorted" in the following
sense.
Imagine the array as being partitioned into blocks of 5 consecutive
elements, with block 1 being the first 5 elements (i.e., in slots 0 through 4),
block 2 being the next 5 elements (i.e., in slots 5 through 9), and so on.
The last block may have fewer than 5 elements.
Now suppose that all elements in block 1 are smaller than all elements in block 2 which are all
smaller than elements in block 3, and so on.
However, within each block the elements may be in arbitrary order.
Modify the insertionSort method in
TimingSimpleSort.java
so that it takes advantage of the fact that the array given to
it is nearly sorted in the sense described above.
The modified insertionSort method is expected to be much
more efficient than the original insertionSort method
since the modified method starts with an array that is
nearly sorted.