******** fig7.4 ********** void shellsort( input_type a[], unsigned int n ) { unsigned int i, j, increment; input_type tmp; /*1*/ for( increment = n/2; increment > 0; increment /= 2 ) /*2*/ for(i = increment+1; i<=n; i++ ) { /*3*/ tmp = a[i]; /*4*/ for(j = i; j > increment; j -= increment ) /*5*/ if( tmp < a[j-increment] ) /*6*/ a[j] = a[j-increment]; else /*7*/ break; /*8*/ a[j] = tmp; } }