C++中有个很实用的函数,全排列函数:next_permutation ()函数
参数是第一个和最后一个数,返回值是下一个排列数,直到最后为0.
#include <bits/stdc++.h>
using namespace std;
#define N 100
int main(){
int a[N];
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
do
{
for(int i=0;i<n;i++){
cout<<a[i];
}
cout<<endl;
}while(next_permutation(a,a+n));
return 0;
}
全排列的应用很广,比如2016年蓝桥杯的方格填数就能用全排列暴力解决,用起来十分之开心。