Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

QuickSort для массивов с элементами разных типов.


Игорь_ ©   (2006-10-03 12:39:00) 

QuickSort для массивов с элементами разных типов.
Здравствуйте !
В примерах к Delphi есть процедура:
QuickSort(var A: array of Integer);
Как бы ее переписать, чтобы она могла работать и
с array of DWord ( Word, Int64 ) ?
Неужели ее надо переписывать для каждого типа ?


Amoeba   (2006-10-03 15:03:00) [1]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=891

Стандартная библиотека Delphi (SDL) от Soletta - мощная библиотека контейнерных повторноиспользуемых классов, обобщенных алгоритмов и удобного механизма обеспечения персистентности. SDL разработана для продвинутых Delphi-программистов, использующих сложные структуры данных или желающих воспользоваться достоинствами большой библиотеки обобщенных алгоритмов. SDL будет прекрасным подспорьем программистам, знакомым с C++ STL (Standard Template Library) или ObjectSpace's JGL (Java Generic Library). SDL - это адаптация идей Степанова и Ли применительно к Delphi.


Ketmar   (2006-10-03 14:03:00) [2]

>[7] MBo(c) 3-Oct-2006, 13:59
тоже вариант. а ещё можно "съэмулировать" шаблоны при помощи INCLUDE. это вообще для извращенцев. %-)


MBo   (2006-10-03 13:59:00) [3]

Кстати, есть еще один путь - пишется универсальная процедура сортировки, которой передается указатель на функцию сравнения (отдельную для каждого типа), а если предполагается сортировать и не примитивные типы, то еще и функция обмена понадобится. Пример - TList.Sort


Ketmar   (2006-10-03 13:40:00) [4]

можно. смотреть справку. проще говоря -- array of const позволяет передать массив чего угодно даже разнотипного. а в коде надо разбираться, что передали и заниматься мастурбицией с этим.

это шутка была такая, не заморачивайся.


Игорь_   (2006-10-03 13:24:00) [5]

>зато можно сделать array of const и немного поизращаться с этим
А можно поподробнее ?


MBo   (2006-10-03 13:04:00) [6]

>Ketmar ©   (03.10.06 12:57) [3]
>зато можно сделать array of const и немного поизращаться с этим. %-)

да с этими const-вариантами можно быстрой сортировкой и не заморачиваться будет ;))


Ketmar   (2006-10-03 12:57:00) [7]

>[2] MBo(c) 3-Oct-2006, 12:55
>А шаблонов/дженериков в Дельфи нет
зато можно сделать array of const и немного поизращаться с этим. %-)


MBo   (2006-10-03 12:55:00) [8]

>Неужели ее надо переписывать для каждого типа ?
Особо переписывать не нужно, пару строчек типов переменных изменить. Можно сделать overload-процедуры(одно имя, разный тип аргументов)
А шаблонов/дженериков в Дельфи нет


Ketmar   (2006-10-03 12:51:00) [9]

нет. можно сделать универсальную. но надо ли?


Наверх

Титульная страница Поиск, карта сайта Написать письмо