📄 排列生成(stl).cpp
字号:
#include <iostream>
#include <algorithm>
#include <cassert>
//#include <stdio.h>
using namespace std;
const int MAX_N = 20;
int main() {
int i, n,// A[MAX_N]={3,2,1,5,4}; //给次数组赋值,控制输出对象(输出比32154小的排列)
A[MAX_N]={4,1,3,2};
cin >> n;
int count=0;
// assert(n < MAX_N); //当n>=MAX_N时报错
// for (i = 0; i < n; i++) A[i] = i;
do {
for (i = 0; i < n; i++) cout << A[i] << ' ';
cout << endl;
count++;
// } while (next_permutation(&A[0], &A[n]));
}while (prev_permutation(&A[0], &A[n])); //从开始位置按字典排序输出前面的排列(并不容易控制输出到什么时候为止)
cout<<count<<endl;
// getchar();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -