Если ваша сортировка включает в себя перемещение файлов, то обычные меры для «самого быстрого» алгоритма сортировки на самом деле не применяются.Для перемещения файлов более быстрый алгоритм сортировки будет состоять из минимизации количества записей в файле.
Можно использовать сортировку выбора, и она очень близка к минимально возможному количеству свопов, но опять же, в худшем случае,каждый файл должен быть записан дважды: один раз, когда его поменяли, чтобы освободить место для принадлежащего ему файла, и один раз поменяли на место, где он должен быть, когда придет его время.
Существуеталгоритм, который выполняет не более n + 1 присваиваний.«Обмен» (который используется большинством алгоритмов сортировки) включает в себя три присваивания (с использованием временной переменной).Это работает в значительной степени, делая сортировку выбора, фактически не меняя ничего.Путем записи каждого выбранного элемента в новую память или сохранения порядка сортировки в памяти, а затем реорганизации файлов в том же пространстве памяти после факта (стиль дефрагментации).Этот алгоритм действительно будет минимальным с точки зрения копирования данных.Это идеально, когда копирование элементов стоит дорого (сортировка данных на диске).