10 REM ----------------------------------------------
   20 REM Shell Sort of A$ array with A% elements
   30 REM ----------------------------------------------
   40 K%=A%
   50 REPEAT
   60     K%=K% DIV 3
   70     IF K%=0:K%=1
   80     REPEAT
   90         fin%=1
  100         FOR I%=1 TO A%-K%
  110             IF A$(I%)>A$(I%+K%):PROCswap
  120         NEXT
  130     UNTIL fin%=1
  140 UNTIL K%=1
  150 END
  160 
  170 DEFPROCswap
  180 fin%      = 0
  190 temp$     = A$(I%)
  200 A$(I%)    = A$(I%+K%)
  210 A$(I%+K%) = temp$
  220 ENDPROC