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类型(只试了这三种,其他的类型应该也行)也可以进行全排列,同时该函数还可以自定义排序