Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизСортировка обьектов по полю. Найти похожие ветки
← →
miwa (2003-06-11 05:21) [0]Два дня назад задавал этот вопросс, но он кудато-делся. А суть в следующем: каким образом можно отсортировать массив обьектов по одному из полей обьекта. На ответ "Так же как и обычных типов" и "Загляни в демку по тредам" ответил что демку смотрел, и о сортировке простых типов слыхал но... Что какого-то более елегантного решения нету, чем тупо
tmp:=obj[i]; obj[i]:=obj[j]; obj[j]:=tmp;
?
А вообще-то более общее описание проблеммы: есть обекты, одно из полей которых выводится в листбоксе. Ну, и есть возможность отсортировать listbox.items. А как согласно этой сортировке упорядочить мои обьекты?
← →
Suntechnic (2003-06-11 05:37) [1]>miwa ©
Что какого-то более елегантного решения нету, чем тупо tmp:=obj[i]; obj[i]:=obj[j]; obj[j]:=tmp;?
Это по-твоему называется сортировка?
Мой тебе дружеский совет открой книжечку и почитай...
P.S.
Насколько мне не изменяет память, то в том демо-примере вообще приведено 3 алгоритма сортировки и сам пример постороен на анализе скорости сортировки по этим алгоритмам.
← →
Babay (2003-06-11 05:38) [2]ну анпример
A-это массив твоих объектов
List - это твой отсортированный список
цикл
Берем Из А i- й элемент находим позицию значения поля этого элемента в List
Например
p:=List.indexOf(A[i].Поле);
если I <> p
Меняем в массиве А местами два объекта с позициями соответственно i и Р
вот наверное можно так... Хотя не проверял так на вскидку написал.
А может сразу засунуть объекты в листвокс в котором выводится поле? Он при сортировке и объекты переставит...
← →
Babay (2003-06-11 05:41) [3]To Suntechnic
Человек же говорит, что есть уже отсортированный список надо согластно ему объекты расставить....
← →
Suntechnic (2003-06-11 05:48) [4]>Babay ©
Человек не говорит, а пишет... а я читаю...
каким образом можно отсортировать массив обьектов по одному из полей обьекта. На ответ "Так же как и обычных типов" и "Загляни в демку по тредам" ответил что демку смотрел, и о сортировке простых типов слыхал но... (далее по тексту)
И правильно, я должен заметить, ему ответили. А догадываться что ему там на самом деле надо... дык, насколько я знаю, летом все здешние нострадамусы в отпуске.
← →
Babay (2003-06-11 06:19) [5]To Suntechnic
Ок, давай без ругани и без придирки к словам. Я с человеком беседую, а ты переписываешся... У каждого свои взгляды на мир.
:=))#
Я ответил на вторую часть вопроса
-> есть обекты, одно из полей которых выводится в листбоксе. Ну, и есть возможность отсортировать listbox.items. А как согласно этой сортировке упорядочить мои обьекты?
->
Так что каждый из нас по своему прав.
ж
:=))#
← →
miwa (2003-06-11 07:33) [6]2 Suntechnic:
> Это по-твоему называется сортировка?
Неа, это - перестановка двух обьектов местами. Насколько мне известно, сортировка как раз и представляет собой перестановку обьектов местами.
> И правильно, я должен заметить, ему ответили
А я разве говорил, что неправильно ,или что не работает. Я, кстати, тем квиксортом из демки (переработанным, естественно) и сортирую свой список. Только чувствую, что должно быть более простое решение: я ввожу допольнительный массив... Короче - неправильно делаю, хотя оно и работает.
> Мой тебе дружеский совет открой книжечку и почитай...
Спасибо за совет, только вместо тореточия, наверное, должно было быть название книжечки, а еще лучше ссылка, правда?
2 Babay:
> засунуть объекты в листвокс
А как?
З.Ы. И спасибо за другой вариант ответа. Попробую.
← →
ЮЮ (2003-06-11 07:42) [7]TCustomListBox.Items есть TStrings.
см. TStrings.AddObject:
← →
miwa (2003-06-11 08:32) [8]
> ЮЮ © (11.06.03 07:42)
Спасибо.
← →
Suntechnic (2003-06-11 08:45) [9]>miwa ©
Насколько мне известно, сортировка как раз и представляет собой перестановку обьектов местами.
Это всё равно что сказать, что если знаешь алфавит, то и знаешь язык, которому этот алфавит принадлежит, что, как ты понимаешь, не верно.
Спасибо за совет, только вместо тореточия, наверное, должно было быть название книжечки, а еще лучше ссылка, правда?
Правда. Книжечку, например, можешь взять Дональд Кнут "Искусство программирования" Том 3 "Сортировка и поиск". Ссылочки... набери в Google "алгоритмы сортировки" и будешь ссылки ещё неделю разгребать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.027 c