How to sort an Array on the Commodore 64 (Bubble Sort)
In this episode I'll demonstrate how to sort a numeric array on the Commodore 64. The same principle works for string arrays, and of course on all other Commodore BASIC computers.
The technique I'm using here is called Bubble Sort: in effect we're comparing the first two items in the array, and if the left one is larger than the right one, the values are swapped around. This loop continues until all items in the array have been compared and sorted (hence the smallest items "bubble" to the front of the array, much like the smallest bubbles in a soda float to the top first).
Here's the full code I'm building, including the lottery portion. The Bubble Sort code starts in line 200.
10 x=rnd(-ti)
20 for i=1 to 6
30 rn=int(rnd(1)*49)+1
40 for j=1 to i
50 if n(j)=rn then 30
60 next j
70 n(i)=rn
80 next i
100 print:gosub 200
110 for i=1 to 6
120 print n(i);
130 next
140 print
199 goto 20
200 rem bubble sort
210 for i=5 to 1 step -1
220 for j=1 to i
230 x=n(j):y=n(j+1)
240 if x 'greater than' y then n(j)=y:n(j+1)=x
250 next:next
299 return
Replace 'greater than' with the actual symbol (YouTube won't let me paste this here).
I've explained how to build the lottery generator in this code here: https://wpguru.co.uk/2018/03/how-to-generate-lottery-numbers-on-the-commodore-64/
Happy retro hacking!
SUPPORT MY PROJECTS
=====================
https://patreon.com/versluis
https://streamlabs.com/wpguru
LISTEN ON SPOTIFY
=================
3D Podcast
https://open.spotify.com/show/4IIh2WPBMRbjct6wdrGcTH?si=Tb7qVvEeQ2GxHpVjahGZNQ
Tech Podcast
https://open.spotify.com/show/3MSMNOruDorce08roxUy85?si=63KfmlDFTT-U1HzpNaa8pw