Sort an array by selecting a pivot element and partitioning the array around it.
How it works: Partitions the array around a pivot and recursively sorts the subarrays.