Главная страница
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.017 c
1-1200405748
istok
2008-01-15 17:02
2008.10.12
передача событий из потока...


4-1197470220
Unknown user
2007-12-12 17:37
2008.10.12
Зависает API функция EnterCriticalSection


15-1219403448
Amoeba
2008-08-22 15:10
2008.10.12
Жизненный цикл программиста


15-1219428958
No_Dead
2008-08-22 22:15
2008.10.12
Регулярное выражение


15-1219351890
TUser
2008-08-22 00:51
2008.10.12
Ширли-мырли