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

11 просмотров

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

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта