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

Вниз

Быстрая сортировка   Найти похожие ветки 

 
Юрий   (2003-05-21 17:07) [0]

Если нужно быстро отсортировать данные, то в VC используют функцию qsort.
Есть ли что-то подобное на Delphi?


 
mdw ©   (2003-05-21 18:56) [1]

Функции нет.
1. В TList есть метод Sort куда передаешь функцию, возвращающую результат сравнения;
2. В примере работы с потоками (Delphi\Demos\Threads) есть реализация трех методов сортировки. Можно оттуда выдрать, если самому лень писать.


 
Gandalf ©   (2003-05-22 14:25) [2]


> Если нужно быстро отсортировать данные, то в VC используют
> функцию qsort.
> Есть ли что-то подобное на Delphi?



> Функции нет.


Есть процедуры :)

SortData
SortIntegerArray
SortDwordArray


 
mdw ©   (2003-05-22 15:16) [3]

>SortData
SortIntegerArray
SortDwordArray


А в каком модуле?


 
Palladin ©   (2003-05-22 15:23) [4]


> Gandalf © (22.05.03 14:25)

? и где ты такое надыбал?


> Юрий (21.05.03 17:07)

%Delphi%\Demos\Threads\SortThds.pas
там аж три вида... дерзай...

ЗЫ а вообще нас еще в школе им учили... кроме QSort...


 
mdw ©   (2003-05-22 15:27) [5]

Томожу. В Kol.pas.


 
Serginio   (2003-05-22 15:53) [6]

>> Palladin © (22.05.03 15:23)
>> ЗЫ а вообще нас еще в школе им учили... кроме QSort...
А используется QuickSort как самый быстрый.


 
Palladin ©   (2003-05-22 15:58) [7]

вот поэтому про QSort я уже узнал на первом курсе...


 
Юрий   (2003-05-22 16:05) [8]

определение:
procedure SortData( const Data: Pointer; const uNElem: Dword;
const CompareFun: TCompareEvent;
const SwapProc: TSwapEvent );

В qsort (VC) нужна одна функция в качестве параметра для сравнения элементов, а тут две. Просьба коротко пояснить назначение CompareFun и SwapProc (В чём суть?).


 
icWasya ©   (2003-05-22 17:16) [9]

ну прямо из названия -
CompareFun - для сравнения элементов
должна выработать результат
-1 первый меньше второго
+1 Первый больше второго
0 равны
SwapProc - для перестановки элементов



 
Mystic ©   (2003-05-22 17:20) [10]

> А используется QuickSort как самый быстрый.

Подразумевается "в среднем" самый быстрый. Гарантированный результат у пирамидальной сортировки все же меньше :)


 
Dimka Maslov ©   (2003-05-22 18:24) [11]

http://delphibase.endimus.com/?action=viewfunc&topic=mathsort&id=10088



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

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

Наверх




Память: 0.49 MB
Время: 0.017 c
14-3057
Separator
2003-05-14 07:30
2003.06.02
Решение систем уравнений


14-3103
Ixion
2003-05-13 23:51
2003.06.02
Моддинг


1-2899
AndreyAs
2003-05-22 18:28
2003.06.02
Событие вложенного объекта в Object Inspector


14-3050
Карлсон
2003-05-15 21:16
2003.06.02
мониторы SyncMaster


14-3148
Михайлов Антон
2003-05-15 10:25
2003.06.02
BruteForce