Die Liste wird in zwei Teillisten getrennt. Als Trennstelle dient ein Pivot-Element. Elemente welche kleiner als das Pivot-Element sind wandern in die linke Teilliste, alle anderen in die rechte Teilliste. Der Quicksort-Algorithmus wird nun (rekursiv) auf diese beiden Teillisten angewendet. Bei jedem Aufruf der Rekursion haben die Elemente im Array eine neue Reihenfolge, bis schließlich der oberste Prozeduraufruf abgearbeitet und alle Elemente sortiert sind.