Справочник по C/C++
inplace_merge()

template <class BiIter>
	void inplace_merge(BiIter start, BiIter mid, BiIter end);
template <class BiIter, class Comp>
	void inplace_merge(BiIter start, BiIter mid, BiIter end, Comp cmpfn);

Описание

Объединяет два диапазона

Внутри одной последовательности алгоритм inplace_merge() объединяет диапазон, заданный параметрами start и mid, с диапазоном, заданным параметрами mid и end. Оба диапазона должны быть отсортированы в порядке возрастания. После выполнения алгоритма полученная последовательность сортируется в порядке возрастания.

Вторая форма позволяет задать функцию сравнения, которая определяет, когда один элемент меньше другого.