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

Вниз

Заполнение массива   Найти похожие ветки 

 
kiberg   (2008-02-29 09:17) [0]

Есть запись, в которой есть поле name типа строка.
Есть массив, содержащий элементы, типа этих записей.
Нужно заполнить массив элементами так, чтобы все записи были отсортированы по полю name. Как быстрее всего это сделать.
Сейчас я ищу место куда нужно вставить элемент с помощью бинарного поиска.


 
Kerk ©   (2008-02-29 09:24) [1]

бери любой алгоритм сортировки и вперёд


 
Сергей М. ©   (2008-02-29 09:25) [2]


> Как быстрее всего это сделать


Например, использовав алгоритм сортировки QuickSort


 
Сергей М. ©   (2008-02-29 09:27) [3]


> ищу место куда нужно вставить элемент с помощью бинарного
> поиска.


А собссно зачем ?
Заполни массив произвольным образом. а потом одним махом отсортруй его.
Или есть причины, не позволяющие реализовать такую логику ?


 
ЮЮ ©   (2008-02-29 09:29) [4]

> Сейчас я ищу место куда нужно вставить элемент с помощью
> бинарного поиска.

И чем о плох? Массив динамический?
может лучше использовать списки, чем постоянно перераспределять память:
Например, TStringlist. Name - в Items, record - в Objects


 
kiberg   (2008-02-29 09:31) [5]


> Сергей М. ©   (29.02.08 09:27) [3]

> А собссно зачем ?
> Заполни массив произвольным образом. а потом одним махом
> отсортруй его.
> Или есть причины, не позволяющие реализовать такую логику
> ?


Да собственно причин особых нет, только в массиве не должно быть дублирующихся элементов.


 
Alien1769 ©   (2008-02-29 09:32) [6]

Однонаправленный список для тебя


 
MBo ©   (2008-02-29 09:32) [7]

Если добавление-удаление идет постоянно, то лучше использовать специальные структуры данных, поддерживающие нужный порядок, например, красно-черные деревья.


 
ЮЮ ©   (2008-02-29 09:34) [8]

> Да собственно причин особых нет, только в массиве не должно
> быть дублирующихся элементов.

TStrtringList.Duplicates


 
Сергей М. ©   (2008-02-29 09:35) [9]


> в массиве не должно быть дублирующихся элементов


см. [4]
TStringList как альтернатива массиву идеально подойдет для этой цели - там реализована и сортировка и проверка уникальности


 
kiberg   (2008-02-29 09:38) [10]

Всем спасибо за советы.



Страницы: 1 вся ветка

Текущий архив: 2008.04.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
2-1205598021
DJ_UZer
2008-03-15 19:20
2008.04.13
Подсказка


6-1185174069
andreil
2007-07-23 11:01
2008.04.13
Плагин для IE на Delphi?


2-1206086434
Mishenka
2008-03-21 11:00
2008.04.13
Какие версии Дельфи могут работать с chm ами ?


2-1205843333
Muson_1984
2008-03-18 15:28
2008.04.13
Конвертация


15-1204055076
Kerk
2008-02-26 22:44
2008.04.13
Ненавижу TurboD2006!