![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]нет. можно сделать универсальную. но надо ли?