前田稔(Maeda Minoru)の超初心者のプログラム入門
/*★ 順列を求める 前田 稔 ★*/ #include <stdio.h> #define NUM 4 int tbl[NUM]; // 順列を List void list() { int i; for(i=0; i<NUM; i++) printf("%d ",tbl[i]); printf("\n"); } // 順列を求める void jyun(int t[], int n) { int i,k,w; if (n<2) { list(); return; } k= n-1; for(i=n-1; i>=0; i--) { w= t[k]; t[k]= t[i]; t[i]= w; jyun(t,k); t[i]= t[k]; t[k]= w; } return; } //★ MAIN PROGRAM int main() { int i; for(i=0; i<NUM; i++) tbl[i]= i+1; jyun(tbl,NUM); return(0); } |
1 2 3 4 2 1 3 4 1 3 2 4 3 1 2 4 3 2 1 4 2 3 1 4 1 2 4 3 2 1 4 3 1 4 2 3 4 1 2 3 4 2 1 3 2 4 1 3 1 4 3 2 4 1 3 2 1 3 4 2 3 1 4 2 3 4 1 2 4 3 1 2 4 2 3 1 2 4 3 1 4 3 2 1 3 4 2 1 3 2 4 1 2 3 4 1 |