Предыдущая перестановка в C++
Алгоритм prev_permutation зеркалит
next_permutation: он ставит предыдущую
комбинацию в словарном порядке.
На наименьшей перестановке вернет false.
Работает на любом случайном порядке,
не только на отсортированном.
Запишем вектор и выведем результат:
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> data = {1, 3, 2};
std::prev_permutation(data.begin(), data.end());
for (int v : data) {
std::cout << v;
}
std::cout << "\n";
return 0;
}
Для {2, 1, 3} вызовите prev_permutation и выведите получившийся порядок цифр одной строкой.