home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1986 July / 64er_Magazin_86-07_1986_Markt__Technik_de.d64 / super-quicksort (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  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.