之前见到过这个 C++ 里面强大的库函数 可惜之后又忘记了
所以 嗯 现在整理一下
首先 头文件 #include<algorithm>
next_permutation是C++里面一个强大是用于字典序排序的函数 从小到大
是一个bool型的 若next后还有存在数据 返回true,否则返回false
测试:
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int a[1001];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
a[i]=i;
while(next_permutation(a+1,a+n+1)){
for(int i=1;i<=n;i++)
cout<<a[i];
cout<<endl;
}
return 0;
}
结果:
prev_permutation 同样 不过 这个是从大到小
是一个bool型的 若prev后还有存在数据 返回true,否则返回false
测试:
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int a[1001];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
a[i]=n+1-i;
cout<<a[i];
}
cout<<endl;
while(prev_permutation(a+1,a+n+1)){
for(int i=1;i<=n;i++)
cout<<a[i];
cout<<endl;
}
return 0;
}
结果: