Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
Юрий   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-2996
veb
2003-05-21 13:56
2003.06.02
Событие формы


7-3185
Pavel111
2003-04-02 11:23
2003.06.02
Timer


1-2849
Renegate
2003-05-22 08:22
2003.06.02
Перевод строк из ListBox в числовой формат.........


1-2971
andrey_pst
2003-05-21 12:31
2003.06.02
TForm в отдельном потоке и TActionManager


3-2821
Сергей.
2003-05-15 11:09
2003.06.02
упала база под Oracle :-(





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский