STL-全排列 next_permutation
// 若使用next_permutation函数,必须先将原序列排序! // 另外,库中另一函数prev_permutation与next_permutation相反,由原排列得到字典序中上一次最近排列。 #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <string> #include <algorithm> #include <iostream> using namespace std; const int N=14; char str[N]; int main(){ // freopen("data.in","r",stdin); // freopen("data.out","w",stdout); while(scanf("%s",str)!=EOF){ int len=strlen(str); sort(str,str+len); do{ printf("%s\n",str); }while(next_permutation(str,str+len)); } return 0; } /* 输入: cba 输出: abc acb bac bca cab cba */