/* シェルソートのプログラム例 */ #include #define N 500 /* 配列Aの最大サイズ */ /* 関数の宣言 */ void shellsort(int *A, int n); main() /* シェルソートのテストプログラム */ { int A[N]; int n, i; FILE *file; file=fopen("sortdata", "r"); /* データの読込み */ fscanf(file, "%d", &n); if(n>N) { printf("Illegal array size n = %d for N = %d\n", n, N); exit(); } printf("n = %d\nA = ", n); for(i=0; i=0) { A[j]=A[j-h]; j=j-h; } A[j]=a; } } while(h>1); }