W pierwszym kroku wybieramy element podziałowy, w naszym przypadku będzie to element leżący w środku dzielonego zbioru. Obliczamy jego pozycję i zapamiętujemy ją tymczasowo w zmienneji. Robimy to po to, aby uniknąć tych samych rachunków.
Element d[i] zapamiętujemy w zmiennej piwot, natomiast do d[i] przypisujemy ostatni element zbioru. Dzięki temu piwot został usunięty ze zbioru.
Zmienną j ustawiamy na początku partycji.
Przy wykonywaniu pętli sterowanej zmienną j przeglądamy wszystkie elementy zbioru, od pierwszego do przedostatniego – ostatni element jest piwotem i jest wykluczony z przeglądania.