/* 020529c.c の改造 */ #include #include #include #include #define N 23 /* ソートするものの個数 */ #define MAX 15 /* 数値データは 0 ... MAX */ struct data { int num; /* 通し番号 */ int val; /* この値でソート */ }; typedef struct data Data; #define swap(I,J) { Data tmp = a[(I)]; a[(I)] = a[(J)]; a[(J)] = tmp; } int myrand(int max); void print(void); void sort(void); Data a[N]; main() { int i; srand((unsigned)time(NULL)); /* 現在時刻で乱数の種を初期化 */ for (i=0; i0; m--) { for (i=0; i a[i+1].val) { swap(i, i+1); print(); /* swap() を呼ぶごとに印字する */ } } } }