10 REM ----------------------------------------------
   20 REM Quick Sort of A$ array with A% elements
   30 REM ----------------------------------------------
   40 REPEAT
   50     PROCdown
   60     PROCup
   70     PROCtest
   80 UNTIL J%>A% OR K%=0
   90 END
  100 
  110 DEFPROCdown
  120 J%=0
  130 REPEAT
  140     J%=J%+1
  150 UNTIL J%>A% OR A$(J%)>A$(1)
  160 ENDPROC
  170 
  180 DEFPROCup
  190 K%=A%+1
  200 REPEAT
  210     K%=K%-1
  220 UNTIL K%=0 OR A$(K%)<A$(1)
  230 ENDPROC
  240 
  250 DEFPROCtest
  260 IF J%>A%:ENDPROC
  270 IF K%=0:ENDPROC
  280 IF J%<K%:PROCswap(J%,K%):ENDPROC
  290 IF A$(J%)<A$(K%):PROCswap(1,J%) ELSE PROCswap(1,K%)
  300 ENDPROC
  310 
  320 DEFPROCswap(L%,M%)
  330 temp$  = A$(L%)
  340 A$(L%) = A$(M%)
  350 A$(M%) = temp%
  360 ENDPROC