- なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
323 :デフォルトの名無しさん[sage]:2015/09/12(土) 09:51:06.51 ID:38RTNor4 - #include <stdio.h>
#define MAX_DATA 100 int Bin[MAX_DATA]; /* 作業用配列 */ void BinSort(int x[ ], int n); void ShowData(int x[ ], int n); void main(void); /* ビンソートを行う */ void BinSort(int x[ ], int n) { int i, j; if (n > MAX_DATA) { printf("データが多すぎます!\n"); return; } else { for (i = 0; i < MAX_DATA; i++) Bin[i] = 0; /* 作業用配列の初期化 */ for (i = 0; i < n; i++) /* x[i] の値の */ Bin[x[i]]++; /* Bin[ ] の要素の値を */ /* インクリメント */ j = 0; /* x[ ] の添字として使用 */ for (i = 0; i < MAX_DATA ; i++) if (Bin[i]) /* 0でなければ */ x[j++] = i; /* 書き戻す */ } }
|
|