Ziel
Die Zahlen sollen von links nach rechts sortiert werden.
Material
1 Grundplatte, 1 Schiebevorrichtung, 7 Zahlenchips 1
- Selection Sort
- Insertion Sort
Selection Sort​
Startaufstellung:
1. Schritt: Markiere das Feld ganz links​
Das Feld ganz links wird markiert und nach oben in den temporären Speicher gelegt:
2. Schritt: Selection​
Jede Zahl überprüfen: falls die Zahl kleiner ist als die Zahl im Zwischenspeicher, wird die aktuelle Zahl im Zwischenspeicher nach unten auf ihren Platz und die kleinere Zahl nach oben in den Zwischenspeicher gelegt:
2. Schritt: Tauschen​
Die erste Zahl wird (sofern vorhanden) in die leere Position verschoben:
und die markierte Zahl wird ins leere Feld verschoben:
3. Schritt: Schieben​
Die Schieblehre wird um eine Position nach rechts geschoben:
... weiter mit Schritt 1 bis keine Zahl mehr übrig ist​
Nächste Runde
Insertion Sort​
Startaufstellung:
1. Schritt: Feld markieren​
Die Zahl ganz rechts wird markiert, indem sie nach oben in den temporären Speicher gelegt wird:
2. Schritt: Tauschen​
Solange die Zahl links neben dem leeren Feld grösser ist als die markierte Zahl, wird sie ins leere Feld verschoben:
3. Schritt: Insertion​
Die markierte Zahl wird ins leere Feld verschoben:
4. Schritt: Schieben​
Die Schieblehre wird um eine Position nach rechts geschoben:
... weiter mit Schritt 1 bis keine Zahl mehr übrig ist​
Nächste Runde
Pseudocode​
Listen (Felder) werden in eckigen Klammern geschrieben, im Unterschied zu Python beginnen die Indizes bei 1.
A = [1, 2, 3]
// A[1] => 1
Selection Sort​
Selection-Sort(A)
for j = 1 to A.länge - 1
schlüssel = A[j]
index = j
// tausche A[j] mit dem tiefsten Wert der
// unsortierten Sequenz A[j..A.länge]
i = j + 1
while i <= A.länge
if A[i] < A[index]
index = i
i = i + 1
A[j] = A[index]
A[index] = schlüssel
Insertion Sort​
Insertion-Sort(A)
for j = 2 to A.länge
schlüssel = A[j]
// füge A[j] in die sortierte Sequenz A[1..j-1] ein
i = j - 1
while i > 0 and A[i] > schlüssel
A[i+1] = A[i]
i = i - 1
A[i+1] = schlüssel
Footnotes​
-
↩
Druckvorlage: apaik5@printables.com
Algorithmen