C M.R. BROWN C SHELL SORT ROUTINE C TAKEN FROM THE ELEMENTS OF PROGRAMMING STYLE C BY KERNIGHAN AND PLAUGER C PP 109 C SUBROUTINE SHELL(X,N) DIMENSION X(N) C SORTS UP. IF THERE ARE NO EXCHANGES (IEX=0) ON A SWEEP C THE COMPARISON GAP (IGAP) IS HALVED FOR THE NEXT SWEEP IGAP=N 5 IF(IGAP.LE.1)RETURN IGAP=IGAP/2 IMAX=N-IGAP 10 IEX=0 DO 20 I=1,IMAX IPLUSG=I+IGAP IF(X(I).LE.X(IPLUSG))GO TO 20 SAVE=X(I) X(I)=X(IPLUSG) X(IPLUSG)=SAVE IEX=IEX+1 20 CONTINUE IF(IEX.GT.0)GO TO 10 GO TO 5 END