C++STL中的全排列函数为两个:next_permutation和prev_permutation
其中:next_permutation实现升序,而prev_permutation实现降序
下面以123的全排列为例:
1)next_permutation实现
#include<bits/stdc++.h> using namespace std; int main(){ int s[3]={1,2,3}; /**下面为next_permutation的用法*/ do { printf("%d %d %d ",s[0],s[1],s[2]); }while(next_permutation(s,s+3)); return 0; }
输出:
2)prev_permutation实现
#include<cstdio> #include<bits/stdc++.h> using namespace std; int main(){ int s[3]={1,2,3}; /**下面为prev_permutation的用法*/ do{ printf("%d %d %d ",s[0],s[1],s[2]); }while(prev_permutation(s,s+3)); }
输出: