Форум: "Потрепаться";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];
ВнизНеобходим алгоритм или программа быстрой сортировки. Найти похожие ветки
← →
MaximatorVeter (2002-10-01 15:45) [0]Если есть у кого под рукой.
Спасибо.
← →
AL2002 (2002-10-01 15:50) [1]быстрой сортировки чего? И в чём?
← →
qube (2002-10-01 15:51) [2]http://algolist.manual.ru/sort/faq/q8.php
← →
MBo (2002-10-01 15:52) [3]algolist.manual.ru
демо Thread и исходники VCL (поиск по quicksort)
← →
BOA_KAA (2002-10-01 15:53) [4]Насколько я помню, этот код есть в Демосе к Дельфям там, где про потоки...
← →
MaximatorVeter (2002-10-01 16:17) [5]ок
← →
Dimka Maslov (2002-10-01 18:13) [6]http://delphibase.endimus.com/?action=viewfunc&topic=mathsort&id=10088
← →
Kopetr (2002-10-01 19:06) [7]TList.Sort выполняет быструю сортировку, см. хелп
← →
Jeer (2002-10-01 19:30) [8]Не всегда QuickSort есть quick.
Как ни странно..
Но если он нужен, то - classes.pas
procedure QuickSort(SortList: PPointerList; L, R: Integer;
...
procedure TList.Sort(Compare: TListSortCompare);
begin
if (FList <> nil) and (Count > 0) then
QuickSort(FList, 0, Count - 1, Compare);
end;
О чем уже сказано.
← →
MaximatorVeter (2002-10-01 20:58) [9]ок
← →
MaximatorVeter (2002-10-02 20:12) [10]Мне необходимо организовать ротации элементов коллекции между коллекциями по min/max значению какого-либо свойства.
Черт ...
А если я сортирую элементы коллекции, то когда меняем 2 элемента (объекта) местами, мы вынуждены перекопировать все их свойства. Если много свойств, то и сортировать может быть не выгодно.
← →
Jeer (2002-10-02 20:27) [11]Связанный список.
Связи устанавливаются по order нужного св-ва.
← →
vuk (2002-10-02 21:16) [12]С точки зрения сортировки коллекция действительно сильно не оптимальное решение. Если Вы не пишете компонент, то лучше коллекции не использовать. Здесь больше подойдет обычный TList - у него и метод имеется для быстрой сортировки. Если же все-таки компонент... Тогда можно попробовать удалить все элементы из коллекции, отсортировать их а потом добавить в порядке сортировки.
← →
MaximatorVeter (2002-10-04 00:04) [13]
> Jeer © (02.10.02 20:27)
> Связанный список.
> Связи устанавливаются по order нужного св-ва.
Подробнее, если можно.
← →
MaximatorVeter (2002-10-04 00:06) [14]Может с указателями "поиграть"?
← →
Jeer (2002-10-04 00:26) [15]Связанный список это структура данных (возможно разнородных) связь между последовательными элементами которых обеспечивается через указатели, в отличии от массивов, где элементы выстроены линейно (хотя тоже возможно через указатели)
Отсюда вывод
Type
Link = ^Node;
Node = record
Data: integer; // любая структура инф.данных
..
Next: Link;
End;
Сортируешь Data или что надо, а модифицируешь Next двух узлов, изменяемы в соответсвии с принятым алгоритмом сортировки.
← →
MaximatorVeter (2002-10-05 18:25) [16]2Jeer
2vuk
Спасибо. Приемлимое для меня (и моих коллекций) решение здесь:
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1033760917&n=0
← →
MaximatorVeter (2002-10-05 18:31) [17]+ конечно QuickSort
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c