home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
86xx
/
8607.d64
/
super-quicksort
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
485b
|
18 lines
10000 REM SUPER-QUICKSORT
10010 DIMLG(100),RG(100):TI$="000000":LG(1)=1:RG(1)=A:Z=0:GOSUB10012
10011 GOTO50000
10012 Z=Z+1:IFLG(Z)>=RG(Z)THEN10025
10013 X=LG(Z):Y=RG(Z):IFY<=X+1THEN10021
10014 B=INT(X+Y)/2:VG$=A$(B)
10015 IFX>YTHEN10023
10016 IFA$(X)<VG$THENX=X+1:GOTO10016
10017 IFA$(Y)>VG$THENY=Y-1:GOTO10017
10018 IFX>YTHEN10023
10019 S$=A$(X):A$(X)=A$(Y):A$(Y)=S$
10020 X=X+1:Y=Y-1:GOTO10015
10021 IFA$(X)<=A$(Y)THEN10025
10022 S$=A$(X):A$(X)=A$(Y):A$(Y)=S$:GOTO10025
10023 RG(Z+1)=Y:LG(Z+1)=LG(Z):GOSUB10012
10024 LG(Z+1)=RG(Z+1)+1:RG(Z+1)=RG(Z):GOSUB10012
10025 Z=Z-1:RETURN