Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Сортировка обьектов по полю.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
1-84372
X~Man
2003-06-13 20:29
2003.06.26
Сохранение


1-84348
FRT
2003-06-16 11:42
2003.06.26
Объединение ячеек в StringGrid


1-84118
kniaz
2003-06-10 23:01
2003.06.26
Компонент Chart, есть вопрос по построению графика


1-84158
Child
2003-06-11 13:37
2003.06.26
BackGround формы


3-83873
monax
2003-06-02 15:08
2003.06.26
Конвертация язіка