Advertisement
Guest User

Bubble sort visualised v2

a guest
Aug 23rd, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. 0 rem Custom vars
  2. 10 debug = 1 : rem Print various debug information
  3. 30 height = 159
  4. 40 items = 200
  5.  
  6. 0 rem Setup
  7. 110 hgr : hcolor = 3
  8. 120 for i = 1 to 20 : print : next
  9. 130 passes = 0
  10. 120 rmaining = items - 1 : rem "rmaining" -> "remaining", can't start var name with rem
  11.  
  12. 200 print "Create item array with " + str$(items) + " items"
  13. 210 dim item(items)
  14. 220 for i = 1 to items
  15. 230 item(i) = int(i/items*height)
  16. 240 next i
  17.  
  18. 300 print "Randomise array order"
  19. 310 for i = 1 to items
  20. 320 random = int(rnd(1)*items)
  21. 330 temp = item(i)
  22. 340 item(i) = item(random)
  23. 350 item(random) = temp
  24. 360 next i
  25.  
  26. 400 print "First plot"
  27. 410 for i = 1 to items
  28. 420 hplot i,height to i,height-item(i)
  29. 430 next i
  30.  
  31. 0 rem LABEL: bubble sort pass
  32. 500 passes = passes + 1
  33. 510 print "Pass #" + str$(passes) + "... ";
  34. 520 for i = 1 to rmaining
  35. 530 if item(i) > item(i+1) then gosub 1000
  36. 540 next
  37. 550 print str$(swaps) + " swaps"
  38. 560 swaps = 0
  39. 570 rmaining = rmaining - 1
  40. 580 if rmaining >= 1 then goto 500 : rem GOTO: bubble sort pass
  41.  
  42. 999 end
  43.  
  44. 1000 swaps = swaps + 1
  45. 1005 hcolor = 0 : hplot i,he-item(i) to i,he-item(i+1)-1
  46. 1007 hcolor = 3 : hplot i+1,he-item(i+1)-1 to i+1,he-item(i)
  47. 1010 temp = item(i)
  48. 1020 item(i) = item(i+1)
  49. 1030 item(i+1) = temp
  50. 1040 return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement