https://pastebin.com/8R47u9NsВсем привет. Имеется гибридный алгоритм сортировки "вставка-обмен" (вместо поиска места вставки, соседние елементы меняются местами, пока выбранный не встанет на свое место.)
Он у меня для вектора и для трехмерного массива. Трехмерный массив он сортирует по такой схеме: сортируется первая строка каждого перереза, только переставляя не 1 елемент, а столбик.
Теперь вопрос, почему на векторе размером N этот алгоритм выдает время, например 161 миллисекунда, а на трехмерном массиве с размерами P = 3, M = 1, и N таким же как у вектора, время в 10 а то и раз больше? Хотя лично мне здравая логика подсказывает, что время сортировки большого массива должно быть такое же как у вектора, только умноженное на P. (ибо M = 1, и сортировка большого массива еквивалентна сортировке P векторов.
Прилагаю ссылку на два алгоритма, а так же на функцию, которая меняет местами два стобца в трехмерном массиве.
Интересует что может влиять на время сортировки кроме самих алгоритмов? Отличие разве что в том, что трехмерный массив у меня динамический, а вектор обычный статический.
Спасибо.