字典序的生成
阿新 • • 發佈:2019-01-28
#include<iostream> #include<algorithm> using namespace std; int main() { int T,i,n; int a[9]={1,2,3,4,5,6,7,8,9}; scanf("%d",&T); while(T--) { scanf("%d",&n); // sort(a,a+n); 每次開始之前不用重新排列,因為生成所有全排列之後雖然跳出了do迴圈但是陣列又回到了初始的升序狀態 do { for(i=0;i<n;++i) printf("%d",a[i]); printf("\n"); }while(next_permutation(a,a+n)); /* for(i=0;i<9;++i) cout<<a[i]; //測試跳出迴圈後輸出1 2 3 4 5 6 7 8 9 即又回到了初始升序的狀態 */ } return 0; }