#ifndef lint static char *sccsid = "@(#)shell.c 4.1 (Berkeley) 5/6/83"; #endif /* * SORTS UP. * IF THERE ARE NO EXCHANGES (IEX=0) ON A SWEEP * THE COMPARISON GAP (IGAP) IS HALVED FOR THE NEXT SWEEP */ shell (n, comp, exch) int (*comp)(), (*exch)(); { int igap, iplusg, iex, i, imax; igap=n; while (igap > 1) { igap /= 2; imax = n-igap; do { iex=0; for(i=0; i0); } }