Blase Sortieren Javascript

| | | |

Wie schreibe ich einen JavaScript-Blasenzauber

Haben Sie eine Liste mit Werten, die Sie sortieren müssen? Das Sortieren von Blasen könnte etwas für Sie sein. Bubble Sorts vergleichen benachbarte Elemente in einer Liste und tauschen ihre Positionen, wenn sie nicht in der richtigen Reihenfolge sind.

In dieser Anleitung werden wir darüber sprechen, was für eine Art von Bubbles sind und wie sie funktionieren. Wir werden sehen, wie man Bubble Sort in JavaScript schreibt, damit Sie schnell mit diesem Genre loslegen können.

Fangen wir an!

Was ist ein JavaScript Bubble Sort?

Eine Art Blase oder „Sortierungsdämpfung“ ist ein einfacher Sortieralgorithmus, der ein Paar benachbarter Elemente in einer Liste vergleicht. Wenn ein Element nicht in Ordnung ist, tauschen wir das Element mit dem vorherigen aus. Ansonsten bleibt das Item an der gleichen Stelle.

Tri Bubble hat seinen Namen, weil es durch eine Liste scrollt und alle wichtigen Werte ‚Äã‚Äãan das Ende verschiebt. Man könnte sich das auch so vorstellen, dass die größten Werte am Ende der Liste „aufsprudeln“. Bubble-Arten funktionieren sowohl in aufsteigender als auch in absteigender Reihenfolge

Es gibt zwei Arten von Bubble-Arten: .. Reguläre und optimierte

Reguläre Bubble-Arten lassen alle möglichen Vergleiche zu, egal ob ein Array ist sortiert. Arten von optimierten Bubbles hören am Ende einer Iteration auf zu laufen, wenn kein Austausch stattgefunden hat.

JavaScript-Verfahren zur Bubble-Sortierung

Wir beginnen damit, darüber zu sprechen, wie die Bubble-Sortierung funktioniert, und implementieren Sie dann eine in JavaScript. Betrachten Sie die folgende Liste von Elementen:

9 3 2 11

Zu Beginn unser Genre, werden wir die erste und zweite Nummer vergleichen. Ist die erste Zahl größer als die zweite Zahl, vertauschen wir die Elemente. Ansonsten bleiben die Elemente an der gleichen Position

9 ist größer als 3, sodass die Positionen der ersten beiden Elemente vertauscht werden:

3 < / td> 9 12 2

Das Der Vorgang wird fortgesetzt, bis alle Elemente in der Liste verglichen sind.

9 überschreitet nicht 12, sodass diese Elemente an derselben Stelle bleiben. 12 ist größer als 2, daher werden diese Elemente ausgetauscht:

< table class = "wp-bloc en table-info table">
3 9 2 12

Unsere Liste beginnt zu suchen sauberer. Unser Algorithmus wiederholte die Liste einmal. Dies wird so lange fortgesetzt, bis wir jeden Artikel bestellen. In der nächsten Iteration führt unser Programm die folgenden Vergleiche durch:

  • ist 3 größer als 9? Nein, nichts passiert.
  • 9 ist größer als 2? Ja, also werden die Items getauscht.
  • 9 ist größer als 12? Nein, nichts passiert.

Nach dieser Iteration sieht unsere Liste so aus:.

< tr>
3 2 9 12 Wir haben es fast geschafft. In der nächsten Iteration tauschen wir die ersten beiden Elemente aus, wodurch wir eine vollständige Bestellliste erhalten:

Wir haben es geschafft! Wir haben eine Liste mit Bubble Sort kategorisiert. Jetzt kommt der knifflige Teil:. Die Entwicklungsarbeit dieses Algorithmus in JavaScript

Wie man einen Sortieralgorithmus in JavaScript schreibt

Wir können einen Sortieralgorithmus in JavaScript schreiben. Wir werden zwei Arten von Blasen erstellen: eine normale Sortierung und eine Optimierung einer

normalen Blasensortierung

Beginnen wir mit der Definition einer JavaScript-Funktion , die unsere Blasensortierung durchführt:

Diese Funktion akzeptiert ein Array von Zahlen und sortiert nach dem Bubble-Sort-Algorithmus . Zunächst erstellt der Algorithmus eine Schleife , die jedes Element der Liste durchläuft

Unser Code verwendet das Längenattribut des Arrays, um die Länge der Liste zu berechnen. , Wir deklarieren dann eine weitere Schleife. Diese Schleife führt Vergleiche zwischen jedem Element in der durch list.

Für jede Iteration unserer inneren Schleife führt unser Programm eine if-Anweisung aus. Diese JavaScript if-Anweisung prüft, ob die Zahl links von ein Vergleich ist größer als die Zahl auf der rechten Seite. In diesem Fall vertauscht unser Programm die Zahlen. Andernfalls passiert nichts.

gibt das Array nach dem Sortieren an das Hauptprogramm zurück. Rufen wir unsere Funktion auf und geben it ein Beispielarray:

Wir haben deklariert JavaSc-Variablen rippen namens numbersToSort , die die Ziffern enthalten, die wir für die Reihenfolge benötigen. Wir haben dann unsere sortItems () Methode aufgerufen und diese Variable als Parameter übernommen. Dies sortiert unsere Liste. Wir drucken die neu geordnete Liste in der JavaScript-Konsole des Browsers :. [2, 3, 9, 11]

BESTELLUNGEN unseres Listencodes in aufsteigender Reihenfolge. Wir können dieses Verhalten ändern, indem wir den „größer als“-Wert für den Zugriff auf unsere „if“-Deklaration durch ein „minus“-Zeichen ersetzen:

Wir sind fast fertig! Machen wir unseren Code effizienter, indem wir die Sortierblase mit einer ausgetauschten Variablen implementieren.

optimiertes Bubble-Sortieren

optimiertes Bubble-Sortieren eingeführt Sortiere eine neue Variable. Diese Variable verfolgt, ob der Austausch stattgefunden hat. Tristop, wenn kein Austausch stattgefunden hat

Um unsere Genre-Blase effizienter zu machen, ersetzen wir unsere äußere For-Schleife durch eine While-Schleife:

Die While-Schleife wird solange ausgeführt, bis "Swapped" falsch ist. Standardmäßig ist der Wert von „purse“ wahr. In jeder Iteration unserer Liste haben wir den Wert von „Swapped“ auf „false“ gesetzt. Wenn ein Austausch auftritt, gibt der Wert von "ausgetauscht" wahr zurück

damit können wir nachverfolgen, ob eine Der Austausch wurde in einer Iteration durchgeführt. Wenn kein Austausch vorgenommen wurde, bedeutet dies, dass unsere Liste sortiert ist. In diesem Fall können wir unsere Blasensortierung stoppen.

Versuchen Sie es mit der Sortierung dieser Blase:

Unser Code gibt zurück:. [2, 3, 9, 11] Liste ist sortiert. Dieser Algorithmus ist effizienter, da er keine unnötigen Vergleiche durchführt. sobald die Liste sortiert ist, funktioniert der Algorithmus nicht mehr.

Fazit

Arten von Blasen sind eine einfache Möglichkeit, ein C zu sortieren Vergleichen Sie die Liste benachbarter Elemente in einer Liste oder tauschen Sie sie aus, wenn sie nicht in der richtigen Reihenfolge sind.

Effizientere Arten sind verfügbar, z. B. Insert Sort oder Merge Sort. Diese Typen sind fortgeschrittener. Sprechblasen sind normalerweise der beste Weg, um mit dem Erlernen von Sortieralgorithmen zu beginnen .

Weitere Informationen zum Codieren in JavaScript finden Sie in unserem So lernen Sie die JavaScript-Hilfe kennen .

Wir hoffen, dass dieser Artikel Ihnen geholfen hat, das Problem zu lösen. Sehen Sie sich neben Blase Sortieren Javascript auch andere insert-bezogene Themen an.

Möchten Sie sich in Python auszeichnen? Sehen Sie sich unseren Rückblick auf die besten Python-Online-Kurse 2022 an. Wenn Sie an Data Science interessiert sind, sehen Sie sich auch an, wie Sie Programmieren in R lernen.

Dieses Material ist übrigens auch in anderen Sprachen verfügbar:



Walter Lehnman

Vigrinia | 2022-12-01

Danke für die Erklärungen! Ich steckte mit Blase Sortieren Javascript für einige Stunden, endlich habe ich es geschafft 🤗. Gestern überprüft, funktioniert!

Oliver Nickolson

Boston | 2022-12-01

Vielleicht gibt es andere Antworten? Was bedeutet Blase Sortieren Javascript genau bedeutet?. Werde es in meiner Bachelorarbeit verwenden

Xu Gonzalez

California | 2022-12-01

Ich bereitete mich auf mein Programmierinterview vor, danke für die Klarstellung - Blase Sortieren Javascript in Python ist nicht das einfachste. Werde es in meiner Bachelorarbeit verwenden

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically