std::next_permutation()
Переставляет диапазон в следующую перестановку.
Сигнатура
bool std::next_permutation(first, last)Алгоритм std::next_permutation() превращает диапазон в лексикографически следующую перестановку и возвращает true. Когда достигнута последняя перестановка, возвращает false. Удобно для перебора всех перестановок в цикле.
std::vector<int> v = {1, 2, 3};
std::next_permutation(v.begin(), v.end());
// вектор: {1, 3, 2}
std::cout << v[1] << v[2]; // результат: 32