home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 86xx / 8607.d64 / super-quicksort (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  485b  |  18 lines

  1. 10000 REM SUPER-QUICKSORT
  2. 10010 DIMLG(100),RG(100):TI$="000000":LG(1)=1:RG(1)=A:Z=0:GOSUB10012
  3. 10011 GOTO50000
  4. 10012 Z=Z+1:IFLG(Z)>=RG(Z)THEN10025
  5. 10013 X=LG(Z):Y=RG(Z):IFY<=X+1THEN10021
  6. 10014 B=INT(X+Y)/2:VG$=A$(B)
  7. 10015 IFX>YTHEN10023
  8. 10016 IFA$(X)<VG$THENX=X+1:GOTO10016
  9. 10017 IFA$(Y)>VG$THENY=Y-1:GOTO10017
  10. 10018 IFX>YTHEN10023
  11. 10019 S$=A$(X):A$(X)=A$(Y):A$(Y)=S$
  12. 10020 X=X+1:Y=Y-1:GOTO10015
  13. 10021 IFA$(X)<=A$(Y)THEN10025
  14. 10022 S$=A$(X):A$(X)=A$(Y):A$(Y)=S$:GOTO10025
  15. 10023 RG(Z+1)=Y:LG(Z+1)=LG(Z):GOSUB10012
  16. 10024 LG(Z+1)=RG(Z+1)+1:RG(Z+1)=RG(Z):GOSUB10012
  17. 10025 Z=Z-1:RETURN
  18.