170 похожих чатов

int nameComparator(vector<Information*>sorted, int i, int j) {

return sorted[i]->getName().compare(sorted[j]->getName());
}

//перестановка элементов листа
void swap(vector<Information*>& sorted, int i, int j) {
Information* temp = sorted[i];
sorted[i] = sorted[j];
sorted[j] = temp;
};

vector<Information*> sortByName() {
vector<Information*> sorted = (this->students);
qsort(sorted, 0, sorted.size() - 1, &Students::nameComparator);
return sorted;
}


void qsort(vector<Information*> & sorted, int left, int right, int (Students::*cmp)(vector<Information*>, int, int)) {
if (left < right) {
int l = left, r = right, m = (l + r) / 2;
do {
while ((this->*cmp)(sorted, l, m) < 0) l++;
while ((this->*cmp)(sorted, m, r) > 0) r--;
if (l <= r) swap(sorted, l++, r--);
} while (l <= r);
qsort(sorted, left, r, cmp);
qsort(sorted, l, right, cmp);
}
}
Добрый день.
Не подскажите, почему может некорректно сортировать?

1 ответов

14 просмотров

Очень странный код. Если это задание или цель сделать сортировку самому, то там нужно делать универскльную функцию сравнения.

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
Карта сайта