Blasensortierung in JavaScript

Blasensortierung in JavaScript
Nehmen wir an, wir haben ein unsortiert. Die Blasensortierung ist einer der einfachsten Sortieralgorithmen, die zwei Side-by-Side-Elemente vergleicht und das Array sortiert. Zahlreiche Algorithmen stehen zur Sortierung der Arrays wie der Sortierung der Auswahl und der Zusammenführung der Sortierung usw. zur Verfügung. In diesem Artikel lernen wir, wie man Blasensort verwendet, um die Array -Elemente zu sortieren.

Arbeiten der Blasenart

Angenommen, wir wollen unser Array in aufsteigender Reihenfolge sortieren. Es beginnt zu arbeiten, indem der linke Index mit dem rechten Index verglichen wird. Zunächst vergleichen die Werte der ersten beiden Indizes des Arrays. Der Wert des 0. Index wird nur ersetzt, wenn der 1. Index einen kleineren Wert als der Wert des 0. Index hat. Als nächstes wird es den Wert von Index 1 mit dem Wert von Index 2 und so weiter vergleichen.

Angenommen, wir haben das folgende ungewöhnliche Array:

Wir wissen, dass die Indexierung in Arrays ab 0 beginnt. So anfangs, "8" wird im 0. Index gespeichert, "3" wird im ersten Index gespeichert, "1" wird im zweiten Index und so weiter gespeichert. Jetzt müssen wir dieses Array in aufsteigender Reihenfolge sortieren, wie im untergegebenen Array gezeigt:

Jetzt werden wir die Arbeit der Blasenart Schritt für Schritt erklären.

Schritt 1

Am Anfang trägt Index 0 8, während Index 1 3 trägt. Da wir das Array in aufsteigender Reihenfolge sortieren müssen, wird der Wert von Index 0 daher durch den Wert von Index 1 ersetzt. Jetzt wird das aktualisierte Array sein:

Jetzt wird der Wert von Index 1 mit dem Wert von Index 2 verglichen. Der Wert von Index 1 beträgt 8, während der Wert von Index 2 1 ist, der weniger als 8 beträgt, so dass er ausgetauscht wird und das Array als:

Jetzt werden wir einen Vergleich zwischen Index 2 und Index 3 durchführen. Der Wert von Index 2 beträgt 8, der größer ist als der Wert von Index 3, der 2 ist, sodass die Werte ausgetauscht werden:

Vergleichen Sie nun den Wert von Index 3 mit dem Wert von Index 4. Bei Index 3 ist der Wert 8, während bei Index 4 Wert -1 beträgt, was bedeutet, dass beide Werte ausgetauscht werden:

Schließlich wird der Wert von Index 4 mit dem Wert von Index 5 verglichen. Wieder ist 8 größer als 7, also wird es durch 7 ersetzt:

Jetzt ist die erste Iteration abgeschlossen und „8“ erreicht ihre angemessene Position. Im nächsten Schritt werden die Vergleiche bis zum 4. Index durchgeführt, da der Wert des letzten Index sortiert ist.

Schritt 2:

Jetzt werden die ersten beiden Indizes verglichen. Der Wert des 1. Index ist geringer als der Wert des 0. Index, daher werden die Werte ausgetauscht:

Als nächstes vergleichen wir den Wert des 1. Index mit dem Wert des 2. Index. Hier ist 3 größer als 2, es wird also durch 2 ersetzt:

Jetzt werden wir den Wert des 2. und 3. Index i vergleichen i I.e. 3 (beim 2. Index) mit dem Wert des 3. Index, der -1 ist. Die Werte werden erneut getauscht, da 3 größer als -1 ist:

Der Wert des 3. Index ist bereits geringer als der Wert des 4. Index. Er bleibt also gleich:

Jetzt werden die letzten beiden Indizes sortiert und die Werte in den 4. und 5. Indizes ordnungsgemäß platziert.

Schritt 3:

In dieser Iteration wird zunächst der Wert des 0. Index mit dem Wert des 1. Index verglichen. Hier ist der Wert des 0. Index 1, der bereits geringer ist als der Wert des 1. Index, der 2 ist. Diese Werte bleiben also gleich.

Vergleichen Sie als nächstes die nächsten beiden Indizes. Hier ist der Wert des 1. Index größer als der Wert des 2. Index. Daher werden ihre Werte ausgetauscht:

Der Wert des 2. Index ist bereits geringer als der Wert des 3. Index. Daher werden ihre Werte nicht ausgetauscht:

Schritt 4:

Vergleichen Sie die ersten beiden Indizes. Der Wert des 0. Index beträgt 1, der geringer ist als der Wert des 1. Index (-1), sodass er ausgetauscht wird:

Als nächstes vergleichen wir den Wert des 1. Index mit dem Wert des 2. Index. Sie sind bereits sortiert, also bleiben sie gleich:

Schließlich ist unser Array in aufsteigender Reihenfolge sortiert.

Implementierung der Blasensorte in JavaScript

Da wir verstanden haben, wie Blasensorten funktioniert, werden wir diese Logik jetzt mit verschachtelten Schleifen in JavaScript implementieren:

FunctionBubblesort (ary)
leti, j;
varflag = false;
für (i = 0; i
Flag = Falsch;
für (j = 0; jary [j + 1])

vartemp = ary [j]
ary [j] = ary [j+1];
ary [j+1] = temp;
Flag = wahr;


Wenn(!Flagge)

brechen;


Konsole.log (ary)

varary = [8, 3, 1, 2, -1, 7];
Bubblesort (Ary);

Im oben gegebenen Code haben wir ein Array namens erstellt "Ary" und haben ihnen einige Daten zugewiesen. Danach haben wir eine Funktion namens erstellt Bubblesort und wir haben das Array an sie übergeben. Eine Variable benannt 'Flagge' wird zunächst mit einem Wert zugeordnet 'FALSCH'. Dieses Flag wird verwendet, um zu überprüfen, ob das Array vollständig aussortiert ist oder nicht. Als nächstes wird die For-Schleife mit der 0 initialisiert und wird ausgeführt, bis sie weniger als die Arraylänge ist.

Verschachtelte für die Schleife wird verwendet, um einen Vergleich des Wertes am aktuellen Index mit dem Wert am benachbarten Index zu zeichnen. Die Werte werden nur ausgetauscht, wenn der Wert des aktuellen Index höher ist. Der Wert der Flagge wird durch True ersetzt, wenn während der Iteration ein Wert ausgetauscht wird.

Sobald die innere Schleife abgeschlossen ist, wird die Flag -Variable überprüft. Wenn die Flag -Variable falsch bleibt, bedeutet dies, dass das Array bereits aussortiert ist und die innere Schleife nichts geändert hat. In einem solchen Fall einfach die Schleife durchbrechen.

Schließlich wird das Array an das übergeben Bubblesort () Funktion. Die Ausgabe wird sein:

Abschluss

Bubble Sort. In diesem Artikel haben wir alle Grundlagen und das wesentliche Wissen vorgelegt, um das Konzept der Blasenart in JavaScript zu verstehen. Beginnend mit der Einführung, die beschrieben hat, was Blasensortierung ist und wie es funktioniert. Dann haben wir ein Beispiel gegeben, um das Konzept der Blasenart zu verstehen. Darüber hinaus haben wir das gleiche Beispiel in JavaScript implementiert und ihre Arbeit im Detail diskutiert.