Quick Sort
  1. void QuickSort(int st,int dr)
  2. {
  3.      if (dr-st>0)
  4.      {
  5.           poz=Divide(st,dr);
  6.           qsort(st,poz-1);
  7.           qsort(poz+1,dr);
  8.      }
  9. }
Variabile globale
n =

a=
Stiva

Quicksort efectuează sortarea bazându-se pe o strategie divide et impera. Astfel, el împarte lista de sortat în două subliste mai ușor de sortat. Pașii algoritmului sunt:
1. Se alege un element al listei, denumit pivot.
2. Se reordonează lista astfel încât toate elementele mai mici decât pivotul să fie plasate înaintea pivotului și toate elementele mai mari să fie după pivot. După această partiționare, pivotul se află în poziția sa finală.
3. Se sortează recursiv sublista de elemente mai mici decât pivotul și sublista de elemente mai mari decât pivotul.