Quicksort starts by picking an element, called a pivot (white), from the list. The list is reordered so that all elements (red) that are less than the pivot are put before the pivot and all elements (blue) greater than or equal to the pivot are put after it. After this partitioning, the pivot is in its final position. This partitioning operation is recursively applied to the resulting sublists.

Selection sort first finds the minimum element in the list. That element is swapped with the first element. This procedure is repeated starting with the second position, and so on.