Вниз
Скачать: CL | DM;

Универсальный метод для сортировки масивов.   Найти похожие ветки 

← →
Q123   (2008-09-01 12:07) [0]

В программе используются массивы из разных типов элементов, а именно
TFloatVector = array of double;
TIntVector = array of integer;

Чтобы их сортировать пришлось писать два идентичных метода, которые отличаются только типом передаваемого им параметра и типом результата.

можно ли как-то обойтись одним методом, который сможет сортировать как TFloatVector так и TIntVector?
Спасибо.


← →
Медвежонок Пятачок ©   (2008-09-01 12:09) [1]

Один универсальный метод, перебирающий элементы  с параметром функцией, которая сравнивает элементы.


← →
Сергей М. ©   (2008-09-01 12:10) [2]

Можно.
Передавай массив не по значению, а по ссылке.
А вторым параметром специфицируй тип элементов массива.


← →
_RusLAN   (2008-09-01 12:34) [3]


> Один универсальный метод, перебирающий элементы  с параметром
> функцией, которая сравнивает элементы.



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


> Передавай массив не по значению, а по ссылке.

Объясните, пожалуйста, подробней. Вы имеете ввиду передавать просто указатель (а точнее, как мне описать параметр для массива)?


> А вторым параметром специфицируй тип элементов массива.


Это тоже не очень понял :). Имеется ввиду передавать  какой-то признак integer или double,  а в процедуре сортировки проверять его?


← →
www   (2008-09-01 12:37) [4]


> ну сравнение элементов я сделал через тип variant

это долго очень
преобразование и сравнение типов в этом случае займет половину времени сортировки


← →
palva ©   (2008-09-01 12:43) [5]

Можно обратиться к стандартной процедуре сортировки qsort, которая находится в C:\WINDOWS\system32\msvcrt.dll


← →
Сергей М. ©   (2008-09-01 12:51) [6]

А какой алгоритм сортировки используется ?
И почему именно массив, а не список ?



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
3-1208021181
koss__
2008-04-12 21:26
2008.10.12
Out Of Memory в датасете


2-1220447536
tropik
2008-09-03 17:12
2008.10.12
Как заинсталить компонент в Delphi 2 ?


15-1219600740
{RASkov}
2008-08-24 21:59
2008.10.12
Есть ли шанс?


3-1207049833
Александр Иванов
2008-04-01 15:37
2008.10.12
Запрос


2-1220510700
workbench
2008-09-04 10:45
2008.10.12
настройки proxy-сервера из браузера




   Наверх