/* ECP: FILEname=fig7_15.c */ /* 1*/ void /* 2*/ Shellsort( ElementType A[ ], const unsigned int N ) /* 3*/ { /* 4*/ unsigned int Gap; /* 5*/ ElementType Tmp; /* 6*/ unsigned int i, j; /* Loop Counters */ /* 7*/ for( Gap = N/2; Gap > 0; Gap /= 2 ) /* 8*/ for( i = Gap; i < N; i++ ) /* 9*/ { /*10*/ Tmp = A[ i ]; /*11*/ for( j = i; j >= Gap && Tmp < A[ j - Gap ]; j -= Gap ) /*12*/ A[ j ] = A[ j - Gap ]; /*13*/ A[ j ] = Tmp; /*14*/ } /*15*/ }