Bubblesort-Algorithmus in JavaScript

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In diesem Lab arbeiten wir an einem JavaScript-Programmieraufgabe, die sich auf das Sortieren von Arrays mit dem Bubblesort-Algorithmus konzentriert. Ziel dieses Labs ist es, Ihnen zu helfen, zu verstehen, wie der Bubblesort-Algorithmus funktioniert, und Ihnen die Möglichkeit zu geben, Ihre JavaScript-Programmierkenntnisse zu üben. Am Ende dieses Labs werden Sie einen besseren Überblick haben, wie man den Bubblesort-Algorithmus in JavaScript implementiert und wie man ihn verwenden kann, um Arrays von Zahlen zu sortieren.

Bubblesort-Algorithmus

Um zu üben, öffnen Sie das Terminal/SSH und geben Sie node ein, um zu starten. Der Bubblesort-Algorithmus sortiert ein Array von Zahlen.

Schritte zum Sortieren eines Arrays mit dem Bubblesort-Algorithmus:

  1. Deklarieren Sie eine Variable swapped, die angibt, ob während der aktuellen Iteration Werte getauscht wurden.

  2. Verwenden Sie den Spread-Operator (...), um das ursprüngliche Array arr zu klonen.

  3. Verwenden Sie eine for-Schleife, um über die Elemente des geklonten Arrays zu iterieren, wobei die Schleife vor dem letzten Element endet.

  4. Verwenden Sie eine geschachtelte for-Schleife, um über den Abschnitt des Arrays zwischen 0 und i zu iterieren, tauschen Sie beliebige benachbarte ungeordnete Elemente aus und legen Sie swapped auf true fest.

  5. Wenn swapped nach einer Iteration false ist, sind keine weiteren Änderungen erforderlich, daher wird das geklonte Array zurückgegeben.

Beispielcode:

const bubbleSort = (arr) => {
  let swapped = false;
  const a = [...arr];
  for (let i = 1; i < a.length; i++) {
    swapped = false;
    for (let j = 0; j < a.length - i; j++) {
      if (a[j + 1] < a[j]) {
        [a[j], a[j + 1]] = [a[j + 1], a[j]];
        swapped = true;
      }
    }
    if (!swapped) return a;
  }
  return a;
};

bubbleSort([2, 1, 4, 3]); // [1, 2, 3, 4]

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Bubblesort-Lab abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.