This is an algorithm programming exercise examining different ways of sorting an array of numbers. First, we implement the insertion sort algorithm and then improve it with the merge sort and Shell sorting algorithms. Lastly, there is also an implementation of the quicksort algorithm.
The exercise stems from here.