Текущий архив: 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.019 c