Impressum
< Arrays 4 - Bubblesort Inhalt Arrays 6 - Binäre Suche >

Arrays in Python - Selectionsort

Beim Selectionsort teilen wir das Array in einen sortierten vorderen Teil und einen unsortierten hinteren Teil.
Zu Beginn ist der sortierte Teil leer und der unsortierte Teil umfasst das ganze Array.
Jetzt wird das Minimum des unsortierten Teils gesucht und hinten an den sortierten Teil angefügt. Damit wächst der sortierte Teil um ein Element und der unsortierte Teil wird ein Element kürzer.
Dies wird wiederholt bis der unsortierte Teil leer ist.

Bsp: Der Array [4, 6, 1, 2] wird sortiert
DruchlaufSortierter
Teil
unsortierter
Teil
04, 6, 1, 2
114, 6, 2
21,24, 6,
31,2,46
31,2,4,6

Selectionsort in Python

Wenn man Unterprogramm zum Finden des Minimums (bzw. dessen Position) und für das Vertauschen hat, ist Selectionsort sehr kompakt darstellbar:
for i in range(len(feld)):
     j = minIndex(feld, i)
     swap(feld, i, j)
Ohne Unterprogramme ergibt sich folgender Python-Code:
for i in range(len(feld)):    
    for j in range(i, len(feld)):
        if feld[i]>feld[j]:
            tmp    = feld[i]
            feld[i]= feld[j]
            feld[j]= tmp
Online ausprobieren

Selectionsort als Struktogramm

Selectionsort Struktogramm

Selectionsort als Struktogramm für BW Abi ab 2024

Selectionsort Struktogramm