Bubblesort, soms ook exchange sort of sinking sort genoemd, is een van de meest eenvoudige sorteeralgoritmes. Dit algoritme kun je gebruiken om een lijst van getallen te sorteren, maar het is niet heel erg efficiënt. Het werkt als volgt:
We zien de grotere elementen als het ware als luchtbellen naar boven drijven. Aan deze metafoor ontleent het algoritme zijn naam. Onderstaande animatie toont Bubblesort in actie op een lijst van willekeurige getallen:
Stel dat we Bubblesort toepassen op de volgende lijst:
[5, 4, 3, 2, 1]
Na de eerste iteratie hebben we
[4, 3, 2, 1] + [5]
Het grootste element staat dus achteraan. Na de tweede iteratie:
[3, 2, 1] + [4, 5]
Na de derde iteratie:
[2, 1] + [3, 4, 5]
Na de vierde iteratie:
[1] + [2, 3, 4, 5]
Na de vijfde iteratie:
[1, 2, 3, 4, 5]
Nu zijn we klaar.
Implementeer het Bubblesort-algoritme om een lijst van getallen te sorteren.
Invoer:
14
70
35
27
37
93
7
73
68
64
Uitvoer:
7
14
27
35
37
64
68
70
73
93