描述
使用STL中的next_permutation函数输出一个序列的全排列。
部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。
int main() { vector<int> vec; int n, x; cin>>n; while(n--) { cin>>x; vec.push_back(x); } Permutation(vec); return 0; }
输入
第一行为一个正整数n(n<8)。
第二行有n个整数。
输出
从小到大顺序(第一个数小的先输出,如果相等则第二个小的先输出,以此类推)输出全排列。
样例输入
3
3 1 2
样例输出
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
AC感想:全排列方法next_permutation模板写法,以后忘了回来翻翻就是了
#include<bits/stdc++.h> using namespace std; void Permutation(vector<int>&vec) { sort(vec.begin(),vec.end()); do { int i; for(i=0;i<vec.size();i++) { cout<<vec[i]; if(i!=vec.size()-1)cout<<" "; } cout<<endl; }while(next_permutation(vec.begin(),vec.end())); } int main() { vector<int> vec; int n, x; cin>>n; while(n--) { cin>>x; vec.push_back(x); } Permutation(vec); return 0; }