/*- * %sccs.include.proprietary.c% */ #ifndef lint static char sccsid[] = "@(#)shell.c 4.2 (Berkeley) 04/18/91"; #endif /* not lint */ /* * 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); } }