全排列 next_permutation 用法

时间:2023-03-08 15:50:48

给一个正整数n,让你求它的全排列

先介绍一个函数,iota(a,a+n,1)

用法就是把a数组的第0位到第n-1位依次赋为1,2,.....n;

然后是next_permutation(a,a+4)函数  求的是a数组0,1,2,3位组成的排列的下一个排列

在这个基础上代码便轻易出来了

#include <bits/stdc++.h>
using namespace std; int main() {
int n;
cin>>n;
int a[];
iota(a,a+n,);
do{
for(int i=;i<n;i++){
cout<<a[i];
}
cout<<endl;
}while(next_permutation(a,a+n));
return ;
}