I.基本用法
C++/STL中定义了两个用于全排列的函数:next_permutation和prev_permutation。next_permutation函数按字典序生成给定序列的下一个较大的排列;而prev_permutation则相反,按字典序生成给定序列的上一个较小的排列,其基本用法如下。
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
vector<string> str_vec1{ "a", "b", "c" };
vector<string> str_vec2{ "c", "b", "a" };
do
{
cout << str_vec1[0] << str_vec1[1] << str_vec1[2] << endl;
} while (next_permutation(str_vec1.begin(), str_vec1.end())); // 不断生成下一个排列
cout << endl << endl;
do
{
cout << str_vec2[0] << str_vec2[1] << str_vec2[2] <&l