目的
输入n个数,对这n个数进行全排列。
样例输入
3
3 2 1
样例输出
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
实现
cpp#include <bits/stdc++.h> using namespace std; const int N = 10; int main() { int n, a[N]; cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; sort(a + 1, a + n + 1); do { for (int i = 1; i <= n; i++) { if (i != 1) cout << " "; cout << a[i]; } cout << endl; } while (next_permutation(a + 1, a + n + 1)); return 0; }
利用STL库里的next_permutation函数实现数组或者容器的全排列。
cppnext_permutation(起始地址, 终点位置); // 执行一次可以更改一次数组的内容,即改变至下一种排列
C++ STL 快速实现全排列
lin zaixi()2024-12-16 2:31
相关推荐