Реализации алгоритмов/Сортировка/Быстрая: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 9:
<source lang = "cpp">
int n, a[n]; //n - количество элементов
void qs(int* *s_arr, int first, int last)
{
intif i = first, j = last, x = s_arr[(first +< last) / 2];
do {
 
int left = first, right = last, middle = s_arr[(left + right) / 2];
do {
while (s_arr[i] < x) i++;do
while (s_arr[j] > x) j--;{
while (s_arr[left] < middle) left++;
 
if while (is_arr[right] <=> jmiddle) {right--;
if (s_arr[j]left ><= s_arr[i]right) swap(&s_arr[i], &s_arr[j]);
i++;{
j-- int tmp = s_arr[left];
s_arr[left] = s_arr[right];
}
} while (i < s_arr[right] = j)tmp;
left++;
 
if (i < last) right--;
qs(s_arr, i, last); }
if } while (firstleft <= iright);
qsquicksort(s_arr, first, iright);
quicksort(s_arr, left, last);
}
}
</source>