@Saymon_K

Почему не сортирует участок массива быстрая сортировка (QuickSort)???

template
void quickSort(T* a, int S, int F) {
long i=S, j=F, d, temp;

d = a[(F-S)/2+S];

do {
while (a[i]d) j--; ///

if (i <= j) {
temp=a[i]; a[i]=a[j]; a[j]=temp;
i++; j--;
}
} while (i <= j);
if (j>S) quickSort(a, S, j);
if (F>i) quickSort(a+i, S, F-i);
}

Я попытался реализовать Быструю сортировку для какого-то участка массива. Но почему-то у меня не получилось...
Допустим массив mass: 81 70 52 19 85 41 78 62 98 31.
Нужно отсортировать с S=4 элемента по F=9.
Вызываю метод: quickSort(mass, S-1, F-1);
Работа метода: 81, 70, 52, 19, 41, 85, 78, 62, 98, 31.
Прошу помочь!

P.S. Из-за странного отображения кода вместо
while (a[i]
  • Вопрос задан
  • 2248 просмотров
Пригласить эксперта
Ответы на вопрос 1
maaGames
@maaGames
Погроммирую программы
a[i]d

Если честно, с трудом понимаю, что за запись
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы