Рассмотрим элемент std::vector
v
из N
и рассмотрим, что первые элементы N
уже были отсортированы с помощью n < N
и где (N-n)/N
очень мало:
Существует ли разумный способ использования алгоритмов STL для сортировки этого вектора быстрее, чем с полным std::sort(std::begin(v), std::end(v))
?
EDIT: пояснение: (N-n) несортированные элементы должны быть вставлены в правильное положение в пределах n первых уже отсортированных элементов.
EDIT2: вопрос с бонусом: и как найти n? (что соответствует первому несортированному элементу)