Quick sort
Quick sort is almost the same as the other sorting algorithms we have discussed so far as it divides the input array into two sublists, which are the left sublist and the right sublist. In quick sort, the process of dividing the array into two sublists is called partitioning. The partition process will pick an item to become a pivot and it will then use the pivot to divide the input into two sublists. If we are going to sort an array in ascending order, all items that are lower than the pivot will be moved to the left sublist, and the rest will be in the right sublist. After running the partition process, we will ensure that the pivot is in the correct position in the array. Although we can choose the item that will be the pivot, we will always choose the first item of the array as the pivot in this discussion.
Suppose we have an array {25, 21, 12, 40, 37, 43, 14, 28}
. We are going to sort the array by using the quick sort algorithm. Please see the following diagram:
First, we choose...