Aufgabe 19 - Sortieren
Aufgabe 19 - Sortieren
Abschnitt betitelt „Aufgabe 19 - Sortieren“Worum geht es?
Abschnitt betitelt „Worum geht es?“Sie sortieren eine Highscore-Liste mit Bubble Sort, zuerst von Hand mit Karten und dann im Code (siehe Kapitel Suchen und Sortieren).
In dieser Übung üben Sie:
- Verstehen: ein Sortierverfahren per Handsimulation nachvollziehen.
- Implementieren: Bubble Sort mit verschachtelten Schleifen umsetzen.
- Beobachten: Sortierschritte sichtbar machen und Aufwand zählen.
Benötigte Unterlagen
Abschnitt betitelt „Benötigte Unterlagen“- VS Code, Browser-Konsole,
- 6 Zettel oder Karten mit Zahlen für die Handsimulation.
Szenario: Highscore
Abschnitt betitelt „Szenario: Highscore“const scores = [820, 350, 990, 120, 675, 445];Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Teil A - Handsimulation
Abschnitt betitelt „Teil A - Handsimulation“- Legen Sie die sechs Werte als Karten vor sich hin und führen Sie Bubble Sort von Hand aus: Nachbarn vergleichen, bei falscher Reihenfolge tauschen, so lange wiederholen, bis nichts mehr getauscht wird.
- Protokollieren Sie jede Runde als Zeile (Zustand der Liste nach jedem Durchlauf).
Teil B - Implementieren
Abschnitt betitelt „Teil B - Implementieren“- Implementieren Sie
bubbleSort(liste)mit verschachtelten Schleifen und einer Tausch-Operation (Hilfsvariable aus Aufgabe 05!). - Geben Sie nach jedem äußeren Durchlauf den Zwischenstand aus und vergleichen Sie mit Ihrem Protokoll aus Teil A.
- Sortieren Sie absteigend (höchster Score zuerst). Was müssen Sie ändern?
Teil C - Nachdenken
Abschnitt betitelt „Teil C - Nachdenken“Beantworten Sie als Kommentar:
- Wie viele Vergleiche macht Ihr Bubble Sort bei 6 Elementen? Zählen Sie mit einer Zählvariable mit.
- Was passiert, wenn die Liste schon sortiert ist? Bauen Sie die Optimierung ein: abbrechen, wenn ein kompletter Durchlauf ohne Tausch bleibt.
- Schlagen Sie
Array.prototype.sortauf MDN nach: Wie sortiert man damit Zahlen korrekt? Warum reichtscores.sort()allein nicht?
Projektordner mit Implementierung, Rundenprotokoll (Teil A) und den Antworten aus Teil C.