Вниз
Скачать: 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.014 c
2-1220506158
Denver
2008-09-04 09:29
2008.10.12
как сделать лампочку


13-1121805388
NewWonder
2005-07-20 00:36
2008.10.12
C#: Borland or MS?


2-1220622285
Demo_nik
2008-09-05 17:44
2008.10.12
Как поределить путь к каталогу в котором нахожусь?


2-1220546393
IvanIvan
2008-09-04 20:39
2008.10.12
TListView: переместить Items


2-1220859352
quake
2008-09-08 11:35
2008.10.12
Работа с путями




   Наверх