Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
ВнизQuickSort для массивов с элементами разных типов. Найти похожие ветки
← →
Игорь_ (2006-10-03 12:39) [0]QuickSort для массивов с элементами разных типов.
Здравствуйте !
В примерах к Delphi есть процедура:
QuickSort(var A: array of Integer);
Как бы ее переписать, чтобы она могла работать и
с array of DWord ( Word, Int64 ) ?
Неужели ее надо переписывать для каждого типа ?
← →
Ketmar © (2006-10-03 12:51) [1]нет. можно сделать универсальную. но надо ли?
← →
MBo © (2006-10-03 12:55) [2]>Неужели ее надо переписывать для каждого типа ?
Особо переписывать не нужно, пару строчек типов переменных изменить. Можно сделать overload-процедуры(одно имя, разный тип аргументов)
А шаблонов/дженериков в Дельфи нет
← →
Ketmar © (2006-10-03 12:57) [3]>[2] MBo(c) 3-Oct-2006, 12:55
>А шаблонов/дженериков в Дельфи нет
зато можно сделать array of const и немного поизращаться с этим. %-)
← →
MBo © (2006-10-03 13:04) [4]>Ketmar © (03.10.06 12:57) [3]
>зато можно сделать array of const и немного поизращаться с этим. %-)
да с этими const-вариантами можно быстрой сортировкой и не заморачиваться будет ;))
← →
Игорь_ (2006-10-03 13:24) [5]>зато можно сделать array of const и немного поизращаться с этим
А можно поподробнее ?
← →
Ketmar © (2006-10-03 13:40) [6]можно. смотреть справку. проще говоря -- array of const позволяет передать массив чего угодно даже разнотипного. а в коде надо разбираться, что передали и заниматься мастурбицией с этим.
это шутка была такая, не заморачивайся.
← →
MBo © (2006-10-03 13:59) [7]Кстати, есть еще один путь - пишется универсальная процедура сортировки, которой передается указатель на функцию сравнения (отдельную для каждого типа), а если предполагается сортировать и не примитивные типы, то еще и функция обмена понадобится. Пример - TList.Sort
← →
Ketmar © (2006-10-03 14:03) [8]>[7] MBo(c) 3-Oct-2006, 13:59
тоже вариант. а ещё можно "съэмулировать" шаблоны при помощи INCLUDE. это вообще для извращенцев. %-)
← →
Amoeba © (2006-10-03 15:03) [9]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.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c