Das Beispiel dieses Artikels gibt an, wie Java sprudelnd sortiert, um das Array zu sortieren. Teilen Sie es für alle für Ihre Referenz. Die Einzelheiten sind wie folgt:
1. Blasensortierung:
Verwenden Sie sprudelndes Sortieren, um das Array zu sortieren
2. Grundlegende Konzepte:
Zwei benachbarte Zahlen werden wiederum verglichen, die Dezimalfront setzen und die große Zahl ist zurück. Das heißt, in der ersten Reise: Vergleichen Sie zuerst die erste und zweite Zahlen, setzen Sie die Dezimalzahl vor und große Anzahl. Vergleichen Sie dann die zweite und dritte Zahlen, setzen Sie die Dezimalzahl vor und nach der großen Zahl, bis die letzten beiden Zahlen die Dezimalzahl vor und die große Anzahl gesetzt wird. Zu diesem Zeitpunkt wurde die größte Zahl bis zum Ende festgelegt. In der zweiten Reise: Start vom ersten Paar (weil die zweite Anzahl der zweiten und die dritte Zahl reduziert werden kann, ist die erste Zahl nicht mehr als die zweite Zahl), die Dezimalzahl nach dem Aussetzen, es wurde verglichen, Bis die vorletzte Zahl (die erste Position ist bereits die größte). Wiederholen Sie daher den obigen Vorgang, bis die endgültige Bestellung abgeschlossen ist.
Drittens realisieren Ideen:
Für die Implementierung der Dual -Loop -Implementierung wird die äußere Zyklusvariable auf i gesetzt, und die innere Zirkulationsvariable ist auf J. festgelegt. Wenn es N-Zahlen gibt, die sortiert werden müssen, wird der externe Zyklus N-1-Mal wiederholt, und der innere Zyklus wiederholt N-1, N-2, ..., 1 Mal. Die beiden Elemente, die jedes Mal verglichen werden , n-1 für den Wert jedes i, j ist 0,1,2, ... ni.
Lassen Sie die Arraylänge n:
1. Im Vergleich zu den beiden benachbarten zwei Daten werden die beiden Daten größer als die späteren Daten ausgetauscht.
2. Auf diese Weise sind die größten Daten nach einem Durchgang zu den N-1-Daten in der N-1-Position des Arrays "sinkend".
3. N = N-1, wenn n nicht 0 ist, wiederholen Sie die ersten beiden Schritte, andernfalls ist die Sortierung abgeschlossen.
4. Implementierung von Java -Code:
PaketarrayDemo; / *** @author pplsunny* @category. int [] a = {2, 4, 76, 12, 34, 23, 86}; * * Bubble -Sortierfunktionen werden als statische und bequeme Verwendung definiert. ++) { / / / Dies ist die Kontrollnummer für (int j = 0; j <a.Length -i; j ++) {// j <A.Length -i, die Anzahl der vergleichenden Elemente if (a [j]> a [j + j + 1]) {int temp = a [j];
5. Leistungsanalyse:
Wenn der anfängliche Status der Datensatzsequenz "positive Sequenz" ist, muss der sprudelnde Sortierprozess nur sortiert werden, und nur N-1-Vergleich während des Sortierprozesses wird ohne mobile Aufzeichnungen durchgeführt. 1)/2 Vergleiche und Datensätze müssen durchgeführt werden. Daher ist die Gesamtzeitkomplexität der sprudelnden Sortierung o (n*n).
6. Optimierung von Algorithmen:
Die Mangel- und Verbesserungsmethode der sprudelnden Sortiermethode:
Während des Sortierprozesses kann das Programm nach der Ausführung der endgültigen Bestellung nicht feststellen, ob die Sortierung abgeschlossen werden soll. Wert seines Anfangswertes für nicht -non -non -non -non -non -non -non -non -non -non -non -non -non -Enough -Wert. Jede Sortierung wird vor dem Start der Sortierung auf 0 gesetzt. Überprüfen Sie zu Beginn einer neuen Sortierrunde dieses Logo.
/ *** Bubble -Sortierfunktion verbesserte Version*/ public static void bubblesort (int [] a) {boolean Flag = true; ; I ++) {für (int j = 0; j <a <A.Length -i; j ++) {if (a [j]> a [j+1]) {int temp = a [j] ; a [j] = a [j + 1];
Zweitens kann bei der sprudelnden Sortierung ein Scannen unzählig ausgetauscht werden, oder es kann einmal oder mehrere Datenaustausch vorhanden sein. Die Standortinformationen des Datenaustauschs werden nicht verarbeitet. Um diese Informationen vollständig zu nutzen, können Sie in einem globalen Scan lokale Sortieren der Sprudeln auf den einzelnen Daten von Rücken ausführen, die als lokale Bubbling -Sortierung bezeichnet werden. Lokale Sortieralgorithmen sprudeln und sprudelnde Sortieralgorithmen haben die gleiche Zeitkomplexität, und unter dem Zustand einer positiven und inversen Reihenfolge ist die Anzahl der für die Anzahl der Schlüsselwörter und Bewegungen erforderlichen Schlüsselwörter genau gleich. Da die Anzahl der Datenbewegungen der lokalen Sortierung und Sortierung des sprudelnden Sortierens immer gleich ist, ist die Anzahl der Schlüsselwörter, die für die lokale Sortierung erforderlich sind Durchschnittlich. als die Fälschung. Für n deaktivierte Daten, wenn wir in der sprudelnden Sortierung befinden, wird eine Blasenart der ersten Daten verwendet, um sie in die richtige Position zu bewegt, das heißt, wenn die K+1 -Datenverkehrsequenz der K+1 -Daten verwendet wird Lassen Sie die vorherigen K+1 -Daten in eine positive Reihenfolge einstellen. Da diese sprudelnde Methode nur für die vorherigen K+1 -Daten sprudelt, nennen wir sie -loc -Blasen
Es ist zu hoffen, dass dieser Artikel für Java -Programmdesign aller hilfreich ist.