Input array:
5 5 5 5 5 

Splitter maintains an array section of smaller numbers
to the left, in blue, and a section of large numbers
to the right, in green. Unprocessed numbers in the middle are in red.

Enter split: bottom = 0, top= 5, split value= 5
5 5 5 5 5 
5 5 5 5 5 
Exit split: split at= 5

Enter split: bottom = 0, top= 4, split value= 5
5 5 5 5 
5 5 5 5 
Exit split: split at= 4

Enter split: bottom = 0, top= 3, split value= 5
5 5 5 
5 5 5 
Exit split: split at= 3

Enter split: bottom = 0, top= 2, split value= 5
5 5 
5 5 
Exit split: split at= 2
Output array:
5 5 5 5 5