Blasensortierung in JavaScript

Blasensortierung in JavaScript

Bubble Sort. 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.

Nehmen wir an, wir haben ein unsortiertes Array und wir werden gebeten, das Array in jeder beabsichtigten Reihenfolge zu sortieren (ich.e. aufsteigend oder absteigend). Dann haben wir mehrere Sortieralgorithmen, um dieses Array wie Blasensortierung, Einfügungssorten usw. zu sortieren, usw. Zu diesem Zweck können wir einen dieser Algorithmen verwenden, da alle Algorithmen das gleiche Ergebnis erzielen. Dieser Artikel wird mit Beispielen die Blasensorte behandelt.

Arbeiten der Blasenart

Es beginnt zu arbeiten, indem der linke Index mit dem rechten Index verglichen wird. Zunächst wird es die ersten beiden Indizes des Arrays vergleichen (der bei Index 0 platzierte Wert wird mit dem Wert verglichen, der am Index 1 platziert ist). 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. Anfänglich bei Index 0 ist der Wert 8 also 8. Der Wert von Index 1 beträgt 3 und 1 wird bei Index 3 und so weiter platziert. 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. Index i vergleichen i.e. 3 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 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 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 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, weniger als der Wert des 1. Index, der 1 ist, 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:

Funktion Bubblesort (ary)
lass mich, j;
var flag = false;
für (i = 0; i < ary.length; i++)

Flag = Falsch;
für (j = 0; j ary [j + 1])

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


Wenn(!Flagge)

brechen;


Konsole.log (ary)

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

Im oben gegebenen Code haben wir ein Array mit dem Namen "Ary" erstellt und einige Daten zugewiesen. Dann haben wir eine Funktion namens Bubblesort erstellt und das Array an sie übergeben. Eine Variable mit dem Namen "Flag" wird zunächst mit einem Wert "Falsch" zugeordnet. 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 werden 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. Schließlich wird das Array unter Verwendung der Bubblesort -Funktion aufgerufen. 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.