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