stl 全排列
程序员文章站
2024-01-04 15:54:34
...
使用STL的next_permutation函数可以对有序列表进行全排列遍历。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main() {
int A[] = {1,2,3,4}; // 已排序
//sort(A, A+4);
do {
printf("%d %d %d %d\n", A[0],A[1],A[2],A[3]);
} while (next_permutation(A, A+4));
return 0;
}
输出:
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 2 3
1 4 3 2
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 1 3
2 4 3 1
3 1 2 4
3 1 4 2
3 2 1 4
3 2 4 1
3 4 1 2
3 4 2 1
4 1 2 3
4 1 3 2
4 2 1 3
4 2 3 1
4 3 1 2
4 3 2 1