Главная страница
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-3163
Дмитрий К.К.
2003-05-15 05:43
2003.06.02
Именинники 15 мая


14-3161
OlegBat
2003-05-15 09:26
2003.06.02
Как открыть сетевое окружение?


3-2742
Непоседа
2003-05-13 09:56
2003.06.02
Как обойти пароль на файле данных типа *.db?


4-3199
Nic2
2003-04-02 17:28
2003.06.02
Компоненты и процессы


3-2795
Andrushk
2003-05-14 16:27
2003.06.02
Сортировка с использованием индексов и PacketRecords