Bouwsteen 1 — vergelijk twee buren
Leerdoel: je kunt twee opeenvolgende elementen vergelijken en detecteren of ze fout staan.
Wat we willen
Twee buren in een lijst: lijst[i] en lijst[i+1]. We willen weten of
ze in de goede volgorde staan (klein → groot).
Voorspel
Wat denk je dat dit print?
lijst = [3, 1, 4, 1, 5]
i = 0
if lijst[i] > lijst[i + 1]:
print(f"{lijst[i]} en {lijst[i+1]} staan fout")
else:
print(f"{lijst[i]} en {lijst[i+1]} staan goed")
Antwoord
3 en 1 staan fout
lijst[0] is 3, lijst[1] is 1. 3 > 1 → "fout" tak.
Run
Let op lijst[i + 1]
Bij elke vergelijking pakken we twee opeenvolgende indexen: i en
i + 1. Daarmee komt deze regel:
if lijst[i] > lijst[i + 1]:
Belangrijk: i + 1 moet een geldige index zijn. Dus i mag hoogstens
len(lijst) - 2 zijn. Anders krijg je IndexError op lijst[i + 1].
We komen daar in bouwsteen 3 op terug — daar wordt de lus-grens precies goed gezet.
Experimenteer
Probeer verschillende waardes van i:
Wat zie je?
i=0: 3>1 → fout
i=1: 1<=4 → goed
i=2: 4>1 → fout
i=3: 1<=5 → goed
Bij i=4 zou het mislopen: lijst[5] bestaat niet. Daarom stoppen we
de lus bij i = 3.
Wat nu nog mist
We detecteren een fout, maar doen er niets aan. In de volgende stap leren we hoe je de twee buren ruilt (swap) — net als bij selection sort.
Door naar bouwsteen 2: swap →