next_permutation的使用

全排列算法,然后发现C++的STL有一个函数可以方便地生成全排列,这就是next_permutation

#include
bool next_permutation( iterator start, iterator end );

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <algorithm>
#include <string>
#include<iostream>
using namespace std;

int main()
{
string str;
cin >> str;
sort(str.begin(), str.end());
cout << str << endl;
while (next_permutation(str.begin(), str.end()))
{
cout << str << endl;
}
return 0;
}