SelectionSort
Der Sortieralgorithmus SelectionSort sortiert eine Liste, indem er in jedem Schritt
- aus einer unsortierten Liste das kleinste Element auswählt (deswegen auch SelectionSort),
- dieses an das Ende der bereits sortierten Liste anfügt und
- es aus der bereits sortierten Liste löscht.
In den beiden Videos unten sieht man mehrere Marker (blaue Kreise unter den Balken).
- Der blaue Marker markiert, bis zu welchem Element die Liste bereits sortiert ist.
- Der gelbe Marker markiert, welches Element aus dem unsortierten Bereich das kleinste ist.
- Die beiden grünen Marker markieren, welche Elemente gerade miteinander verglichen werden.
- Die beiden roten Marker markieren, welche Elemente gerade miteinander vertauscht werden.
SelectionSort mit 25 Elementen
SelectionSort mit 100 Elementen
Struktogramm SelectionSort
Java-Code SelectionSort
- Sort_SelectionSort.pde
int[] daten = new int[] { 8, 52, 33, 30, 69, 84, 72, 99, 78, 86, 18, 17, 89, 83, 65, 95, 14, 6, 9, 38, 5, 98, 9, 39, 82 }; int sortiertBisIndex = 0; while (sortiertBisIndex < daten.length) { int kleinstesElementIndex = sortiertBisIndex; for (int index = sortiertBisIndex; index < daten.length; index++) { if (daten[index] < daten[kleinstesElementIndex]) { kleinstesElementIndex = index; } } int temp = daten[sortiertBisIndex]; daten[sortiertBisIndex] = daten[kleinstesElementIndex]; daten[kleinstesElementIndex] = temp; sortiertBisIndex++; } printArray(daten);