Einfügen Sortieren Javascript

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Eine Java-Einfügesortierung wertet jedes Element in einer Liste aus. Wenn ein Artikel kleiner als der vorherige ist, vertauscht die Sortierung die Artikel. Andernfalls bleiben die Elemente an der gleichen Stelle und die beiden Elemente werden in der Liste verglichen.

Computer sind gut darin, die Liste der Elemente zu sortieren. Durch die Verwendung von Schleifen können Sie alle Elemente in einer Liste durchsuchen und ihre Reihenfolge ändern, bis sie auf eine bestimmte Weise angezeigt werden.

In der Programmierung gibt es Standardmethoden zum Sortieren von Listen. Wir nennen diese Sortieralgorithmen . Sortieralgorithmen lesen alle Elemente in einer Liste und sortieren sie mithilfe eines bestimmten Satzes von Anweisungen. Einer der aktuellsten Sortieralgorithmen, auf die Sie stoßen werden, ist eine Art Einfügung.

In dieser Anleitung besprechen wir, wie ein Java-Einfügungs-Sortieralgorithmus implementiert wird. Wir werden dabei ein Beispiel durchgehen, damit Sie die Logik dahinter lernen können, welcher Typ funktioniert.

Fangen wir an!

Was gibt eine Java-Einfügung aus?

Ein Java-Einfügungstyp funktioniert wie das Sortieren von Handkarten in einem Kartenspiel. Sortierungen einfügen überprüft jedes Element in einer Liste und tauscht sie mit einem Element links davon aus. Ob ein Gegenstand getauscht wird, hängt davon ab, ob der Gegenstand größer oder kleiner als der vorherige Gegenstand ist.

Stellen Sie sich für einen Moment vor, Sie spielen ein Kartenspiel – Whist, Rommé, was auch immer. Was machst du, wenn du deine Karten bestellst?

Du fängst von links an und überprüfst, ob die zweite Karte sortiert ist. Wenn diese Karte größer ist als die letzte, muss sie an derselben Position bleiben. Andernfalls muss es in der Liste um eine Position verschoben werden.

Du hast alle Karten auf deiner Hand ausgegeben und tust dies, bis jede Karte in der richtigen Reihenfolge erscheint.

Wann soll die Sortiereingabe verwendet werden?

Es gibt mehrere Arten von Einfügungen, die verwendet werden, wenn nur wenige Elemente übrig bleiben, die sortiert werden müssen

< /a>

Es gibt effizientere Algorithmen, die Sie zum Sortieren von Datenlisten als eine Art Zusammenführung verwenden können. Aus diesem Grund sollten Sie nicht immer standardmäßig eine Insert-Sortierung verwenden. Jedoch sind Arten der Integration effektiver als die Arten von Blasen und Auswahl für Positionen, die eine Liste sortieren.

Eine Einfügung ist eine Art einfacher Sortieralgorithmus, was bedeutet, dass es für Anfänger nützlich ist, sie zu lernen.

p>

Einlegeverfahren sortieren

Das Betrachten eines Kartenspiels ist nicht das intuitivste der Welt. Sehen Sie sich zunächst ein Programmierbeispiel an. Betrachten Sie die folgende Liste:

8 6 3 9

In dieser Liste gehen wir davon aus, dass das erste Element sortiert ist.

Unser nächster Schritt besteht darin, das zweite Element in unserer Liste mit dem ersten zu vergleichen. Wenn das erste Element größer als das zweite Element ist, wird dieses Element vor dem ersten Element platziert.

In diesem Fall ist 6 größer als 8. Das bedeutet, dass 6 eine Position in unserer Liste zurückgibt und 8 wird eine Position vorrücken:

6 8 3 9

Jetzt müssen wir das dritte Element mit den Elementen links davon vergleichen: 3 ist größer als 8? Nein, also 8 verschieben Sie die Position nach rechts:

6 3 8 9

3 ist größer als 6? Nein, also verschieben wir Nummer 6:

3 6 < /td> 8 9

Jetzt müssen wir vergleichen, ob der vierte Punkt auf unserer Liste – das letzte Element – allen anderen auf unserer Liste überlegen ist. In diesem Fall ist 9 größer als alle Elemente davor: 8, 6 und 3.

Hier ist der Algorithmus, den wir zum Sortieren der Liste verwendet haben:

  • erstes Element wird sortiert.
  • Vergleiche das zweite Element mit dem Element links davon.
  • Ist dieses Element größer als der Wert links davon, bleibt das Element an der gleichen Stelle. Andernfalls verschieben Sie den Wert nach links.
  • Wiederholen Sie dies, bis alle Elemente der Reihe nach angezeigt werden.

Wir haben jetzt ein sortiertes Array. Die Einfügungsarten werden jeweils nach einem Element sortiert. Sehen wir uns an, wie dieser Sortieralgorithmus in Java implementiert wird

Wie man eine insert sort in Java

der höhere der beiden zu vergleichenden Werte wird bei jeder Ausführung der sort-Funktion eine Position weiter rechts eingefügt.

Es ist in Ordnung, theoretisch zu sprechen , aber wie wird es in Java implementiert? Das ist eine gute Frage. Lassen Sie uns eine Klasse schreiben, die durch Einfügen in eine Liste von Schülernoten sortiert.

Vorbereiten der Array-Bibliothek

Fangen wir an indem wir die Array-Bibliothek in unser Java-Programm importieren. Wir verwenden diese Bibliothek, um unsere Liste auf der Konsole auszugeben, sobald wir sie sortiert haben:

deklarieren re a sort method

Wir beginnen mit der Deklaration einer Methode, die durch unsere Liste iteriert und unsere Daten in aufsteigender Reihenfolge sortiert >:

Beginnen wir damit, herauszufinden, wie viele Elemente unser Eingabearray enthält. Auf diese Weise können wir eine Schleife erstellen, die alle Elemente in unserer Liste durchläuft. Wir initialisieren eine Schleife, die wiederholt wird, bis wir unsere Liste verlassen.

In unserer Schleife haben wir zwei Variablen deklariert: den Schlüssel und die letzte.

Die Java Variable "Schlüssel" verfolgt das Element, das wir gerade bestellen. Die Variable „last“ verfolgt, wie viele Elemente links vom Element sortiert werden sollen.

Unser Programm vergleicht den Wert von „key“ mit jedem Element links davon, bis wir ein kleineres Element finden . Dies geschieht in unserer Java "while" -Schleife.

Definiere eine Hauptfunktion

Wenn wir diese ausführen Code passiert nichts. Tatsächlich haben wir unsere Hauptfunktion noch nicht definiert. Wir definieren eine Hauptfunktion, die ein Netzwerk von int (ein Array von Zahlen) definiert. Diese Hauptfunktion verwendet die Funktion insertSort () , die wir deklariert haben, um diese Ziffern zu sortieren. Fügen Sie diesen Code nach dem Deklarieren Ihrer EingabeSort Java-Methode ein:

In unserer Hauptmethode haben wir eine Liste der Zahlen deklariert, die wir sortieren möchten. Wir haben unsere InsertionSort () Methode namens sortNumbers instanziiert. Wir verwenden diese Methode, um die Liste der Zahlen in aufsteigender Reihenfolge zu sortieren. Diese Methode ändert die Werte ‚Äã‚Äãin unserem „Digits“-Vektor; Wir haben kein separates Array deklariert, um seine Werte zu speichern.

Als nächstes haben wir verwendet die Methode Arrays.toString () , um unser Array von Zahlen in einen String umzuwandeln. n ^ 2). Dies geschieht, wenn keine Elemente sortiert werden.

Best-Case-Komplexität tritt auf, wenn ein Array sortiert wird. Dies erzeugt eine zeitliche Komplexität von O (n). Tatsächlich ist die innere Schleife in irgendeiner Form Ein Einfügen wird in diesem Fall überhaupt nicht ausgeführt.

Im schlimmsten Fall wird bei O ‚Äã‚Äãsort (n ^ 2) ein Einfügen vorgenommen, wenn ein Array in aufsteigender oder absteigender Reihenfolge ist und Sie möchten in umgekehrter Reihenfolge sortieren (dh von aufsteigend zu absteigend) die Konfrontation jedes Elements mit allen anderen Elementen ents.

Fazit

Einfügungsarten sind eine effiziente Art, Daten zu sortieren. orts vergleicht die Werte ab dem zweiten in einer Liste. Wenn dieser Wert größer als der links davon ist, ändert sich unsere Liste nicht. Andernfalls wird der Wert verschoben, bis das Element links davon kleiner ist.

Sie können jetzt damit beginnen, Ihren eigenen Sortieralgorithmus für Einfügungen in Java zu schreiben!Wenn Sie nach weiteren Java-Lernressourcen suchen, sehen Sie sich unsere an Java-Lernleitfaden .