next_permutation()函数
昨天看了搜索专题,在查询资料的时候发现了一个更简便的列出全排列的函数--next_permutation(),使用这个函数前要包含algorithm头文件,该函数的模板是这样的permutation(start,end)
举一个例子:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
string a[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));
}
输入
3
1 2 3
该代码输出的是
如果数组是char类型,或者string类型(只试了这三种,其他的类型应该也行)也可以进行全排列,同时该函数还可以自定义排序


