home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1985 June / 64er_Magazin_85-06_1985_Markt__Technik_de.d64 / heapsort (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  595b  |  32 lines

  1. 10000 rem sortieren mit baeumen
  2. 10010 rem
  3. 10020 rem heapsort
  4. 10030 rem
  5. 10040 lg=int(a/2)+1:rg=a
  6. 10050 if rg<=1 then 10190
  7. 10060 if lg<=1 then 10100
  8. 10070 rem aufbau des haufens
  9. 10080 lg=lg-1
  10. 10090 i=lg:goto 10140
  11. 10100 rem wegnehmen des maximums
  12. 10110 s$=a$(1)=a$(1)=a$(rg):a$(rg)=s$
  13. 10120 rg=rg-1
  14. 10130 i=1
  15. 10140 x$=a$(i)
  16. 10150 p=0:rem flag fuer nicht gefunden
  17. 10160 if 2*i<=rg and p=0 then 10200
  18. 10170 a$(i)=x$
  19. 10180 gosub 3000: goto 10050
  20. 10190 goto 10300: rem ende
  21. 10200 rem feldvariable a$(i) einordnen
  22. 10210 j=2*i
  23. 10220 if j<rg then if a$(j)<a$(j+1)then j=j+1
  24. 10230 if x$>=a$(j) then 10260
  25. 10240 a$(i)=a$(j)
  26. 10250 i=j:goto 10160
  27. 10260 p=1:rem flag fuer platz gefunden
  28. 10270 goto 10160
  29. 10280 :
  30. 10290 :
  31. 10300 rem ende
  32.