Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.12;
Скачать: 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 вся ветка

Текущий архив: 2008.10.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
15-1219064587
rand(256)
2008-08-18 17:03
2008.10.12
Классификатор адресов других стран =)


15-1219647892
rx275d7_jedi
2008-08-25 11:04
2008.10.12
Написать программу


6-1193938102
Жека
2007-11-01 20:28
2008.10.12
два потока. события, синхронизация


2-1220106974
Alral
2008-08-30 18:36
2008.10.12
Функция Recv и PChar


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