c++中全排列函数——next_permutation()
函数公式:
do
{
}while(next_permutation(a,a+n));
环境说明:a代表的是一个已经按照字典序从小到大排好顺序的字符
串,n代表的是你想要对前n个字符串进行排列。
这里来一个题目供大家练习吧!
题目链接
这里一并附上我的代码:
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
const int N=50010;
int n,q,w;
char a[10];
int z[N],f[N];
long long s[N];
bool cmp(int x,int y)
{
return x<y;
}
int main()
{
cin>>a;
int l=strlen(a);
sort(a,a+l,cmp);
do
{
cout<<a;
cout<<endl;
}while(next_permutation(a,a+l));
return 0;
}