本题要求:
输出几个数的全排列
输入格式:
输入n
接下来n行
每行输入一个数
输出格式:
输出n个数的全排列
输入样例:
3
3 1 2
输出样例:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
解题思路 :
next_permutation这个函数会将当前传入的数组,从小到大进行全排列。
代码 :
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int n;
vector<int> vec;
cin >> n;
for (int i = 0; i < n; i++) {
int t;
cin >> t;
vec.push_back(t);
}
sort(vec.begin(), vec.end());
do {
for (int i = 0; i < n; i++) {
cout << vec[i] << " ";
}
cout << endl;
} while (next_permutation(vec.begin(), vec.end()));
return 0;
}