您的位置:首页 > 其它

每日一题 No.14 全排列(利用next_permutation)

2017-04-10 16:26 344 查看

本题要求:

输出几个数的全排列

输入格式:

输入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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: