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

Вниз

Еще о сортировке :)   Найти похожие ветки 

 
kronprince ©   (2003-01-03 12:09) [0]

Нужен быстрый метод сортировки последовательности типа:
2, 2аб, 30, 00, 10, 20, 1а, 1б, 1, а1, 0, б2....
в последовательность:
0, 00, 1, 1а, а1, 1б, 2, 2аб, б2, 10, 20, 30...
причем 1а=1а только приоритет выше чем а1.


 
Igorek ©   (2003-01-03 13:18) [1]

Кормэн и др. "Алгоритмы: построение и анализ"


 
vuk ©   (2003-01-03 14:10) [2]

>Нужен быстрый метод сортировки
Воистину, чтобы задать вопрос нужно знать половину ответа. :o)
У Вас же ответ прямо в вопросе! Метод так и называется - быстрая сортировка (она же QuickSort). Смотрите реализацию TList.Sort, TStringList.QuickSort. Там легко задаются правила сравнения и выполняется произвольная сортировка.


 
Igorek ©   (2003-01-03 15:21) [3]


> vuk © (03.01.03 14:10)

"Быстрая сортировка" на самом деле не самая быстрая ;-)
Ответ зависит от того, какое время работы требуется.


 
vuk ©   (2003-01-03 18:08) [4]

Не самая быстрая, это да, но она обладает достаточной скоростью и легко реализуется для линейных структур данных с произвольным доступом. Хотя, в принципе и для списочных структур реализуема(типа двусвязных списков), но там она имеет более низкую производительность именно из-за невозможности произвольного доступа.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-62434
KonuhovSegey
2002-12-26 07:08
2003.01.20
Автоинкрементные поля в Paradox по сети.


14-62805
Дмитрий К.К.
2003-01-01 07:08
2003.01.20
Именинники 1 января


3-62341
Cheg
2002-12-24 12:13
2003.01.20
TStoredProc.Params.CreateParam странно выполняеться...


1-62583
Johnny
2003-01-08 22:55
2003.01.20
текст Item из List box=edit.text : как сделать?


14-62756
ZiLot
2003-01-03 14:09
2003.01.20
BDE Administrator