Simulare sortare vector prin QuickSort

i : Indexul de poziționare. Indică ultimul element din secvență despre care știm că este mai mic decât pivotul. La început este st - 1.
j : Indexul de parcurgere. Acesta scanează elementele de la st la dr-1.

Apasă Start pentru a iniția primul apel QuickSort.
void quicksort(int v[], int st, int dr) {
if (st < dr) {
int p = partition(v, st, dr);
quicksort(v, st, p - 1);
quicksort(v, p + 1, dr);
}
}

int partition(int v[], int st, int dr) {
int pivot = v[dr];
int i = st - 1;
for (int j = st; j < dr; j++) {
if (v[j] < pivot) {
i++;
swap(v[i], v[j]);
}
}
swap(v[i + 1], v[dr]);
return i + 1;
}