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

template <class BiIter>
	bool prev_permutation(BiIter start, BiIter end);
template <class BiIter, class Comp>
	bool prev_permutation(BiIter start, BiIter end, Comp cmpfn);

Описание

Создает предыдущую перестановку последовательности

Алгоритм prev_permutation() создает предыдущую перестановку последовательности. Перестановка генерируется в предположении, что последовательность, отсортированная от меньшего к большему, представляет собой первую перестановку. Если следующей перестановки не существует, алгоритм prev_permutation() сортирует последовательность в виде ее заключительной перестановки и возвращает значение false. В противном случае возвращается значение true.

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