Załóżmy, że dla sortowanej tablicy A funkcja PodzielTablice(l,p) zwróciła wartość s. W oryginalnym algorytmie quicksort powinno zostać wykonane wywołania Quicksort(l,s-1) i Quicksort(s+1,p). Zamiast tego „zajmujemy się” tylko Quicksort(l,s-1), a pozycje s+1 i p zapamiętujemy w następujący sposób: s+1: jest jednoznacznie wyznaczona przez koniec ciągu (l,s-1) → (s+1) = (s-1) + 2 p: znajdujemy maksimum ciągu (s+1,p) i zamieniamy tę pozycję z pozycją s. Aby odtworzyć pozycję p, wystarczy przeszukiwać ciąg w prawo do znalezienia elementu większego od wartości stojącej na pozycji s. Wtedy indeks elementu o najmniejszej wartości większej od A[s] to p+1.
Metoda ta sprowadza koszt pamięciowy algorytmu do wartości stałej, O(1), wymaga jednak dodatkowego nakładu czasu na wyszukiwanie maksymalnych elementów kolejno sortowanych fragmentów tablicy. Ujmuje więc algorytmowi jego główną zaletę, wpisaną nawet w jego nazwę – szybkość działania.