std::sort
в целом.
Хотя точная информация о реализации является качеством реализации, хорошая реализация std::sort
должна использовать частично отсортированный характер данных. libc++
., Например.
Обратите внимание, что если вы знаете, где отсортированные элементы, вы можете использовать std::inplace_merge
. Например, предположим, что v
является vector
с сортировкой [1, 7] и [7, 10], тогда вы можете использовать std::inplace_merge(v.begin() + 1, v.begin() + 7, v.begin() + 10)
, однако это более подвержено ошибкам.
Что касается заказа результата: если <
вас не устраивает, не стесняйтесь предоставить свою собственную функцию сравнения.
Сортировка вставки идеально подходит, когда числа частично отсортированы. – st0le