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 ответов

17 просмотров

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта