Швидке сортування
C++ Рекурсія
поділяй і володарюй
Блок-схема за ДСТУ
Вихідний код
void quickSort(int a[], int lo, int hi) {
if (lo >= hi) {
return;
}
int p = a[hi];
int i = lo;
for (int j = lo; j < hi; j++) {
if (a[j] < p) {
int t = a[i];
a[i] = a[j];
a[j] = t;
i++;
}
}
int t = a[i];
a[i] = a[hi];
a[hi] = t;
quickSort(a, lo, i - 1);
quickSort(a, i + 1, hi);
}