Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.031 c
1-84347
Alta
2003-06-16 13:42
2003.06.26
WideChar в Char?


3-83910
Dimaz-z
2003-05-29 12:15
2003.06.26
Какие минимальные операции надо проделать, чтобы законнектить Ado


1-84343
Dimich1978
2003-06-16 11:34
2003.06.26
Вопрос про копирование файлов


3-83862
NataliK
2003-06-02 11:35
2003.06.26
Подскажите алгоритм


3-83993
DBDev
2003-05-30 12:32
2003.06.26
Знатоки, помогите с процедурой - не редактируется!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский