?? 排列生成(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 + -