Input array:
1 2 3 

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= 3, split value= 1
1 2 3 
1 2 3 
Exit split: split at= 1

Enter split: bottom = 1, top= 3, split value= 2
2 3 
2 3 
Exit split: split at= 2
Output array:
1 2 3