1.next_permutation ( )
根据字典顺序进行排列
2.prev_permutation( )
逆序排列
既可以对字符类型实现,也可以对数组实现
题目:请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
s.push_back(i+'0');
}
cout<<s<<'\n';
while(next_permutation(s.begin(),s.end()))
{
cout<<s<<'\n';
}
}
也可以数组实现
int a[4]={1,2,3,4};
next_permutation(a,a+4);