Quick Sort

Works by picking a value from the input, and then going through the rest of the list dividing it into those which are below the value and those which are above.

This process is then repeated on both of the lists which were created in step 1. Repeat this until there are no more items in the lists.