Zum Inhalt springen

Aufgabe 19 - Sortieren

Zu Zen-Modus wechseln

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.
  • VS Code, Browser-Konsole,
  • 6 Zettel oder Karten mit Zahlen für die Handsimulation.
const scores = [820, 350, 990, 120, 675, 445];
  1. 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.
  2. Protokollieren Sie jede Runde als Zeile (Zustand der Liste nach jedem Durchlauf).
  1. Implementieren Sie bubbleSort(liste) mit verschachtelten Schleifen und einer Tausch-Operation (Hilfsvariable aus Aufgabe 05!).
  2. Geben Sie nach jedem äußeren Durchlauf den Zwischenstand aus und vergleichen Sie mit Ihrem Protokoll aus Teil A.
  3. Sortieren Sie absteigend (höchster Score zuerst). Was müssen Sie ändern?

Beantworten Sie als Kommentar:

  1. Wie viele Vergleiche macht Ihr Bubble Sort bei 6 Elementen? Zählen Sie mit einer Zählvariable mit.
  2. Was passiert, wenn die Liste schon sortiert ist? Bauen Sie die Optimierung ein: abbrechen, wenn ein kompletter Durchlauf ohne Tausch bleibt.
  3. Schlagen Sie Array.prototype.sort auf MDN nach: Wie sortiert man damit Zahlen korrekt? Warum reicht scores.sort() allein nicht?

Projektordner mit Implementierung, Rundenprotokoll (Teil A) und den Antworten aus Teil C.