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 Javader 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. FazitEinfü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 . |