' *** SHEL_SRT.LST *** 2nd GFA-Manual, page 5-7 > PROCEDURE shell_sort(VAR proc()) ' ' *** Sort word-array with 'Shell Sort' ' *** Same algorithm as used by SSORT ' LOCAL inc,last,j,k,inserted!,x,current,previous last=PRED(DIM?(proc())) LET inc=last WHILE inc>1 DIV inc,2 FOR j=0 TO inc k=ADD(j,inc) WHILE k<=last inserted!=FALSE x=proc(k) current=k previous=SUB(current,inc) WHILE previous>=j AND NOT inserted! IF x