Heim >Java >javaLernprogramm >Verwenden Sie die Java-Sprache, um Blasensortierungs- und Auswahlsortierungsalgorithmen zu implementieren
BubblingSortiermethode |
Blasensortiermethode Der Blasenalgorithmus wird in herkömmlichen C-Lehrbüchern ausführlich diskutiert. Es handelt sich um einen relativ stabilen Sortieralgorithmus. Wenn Sie diesen Sortieralgorithmus verwenden, können Sie anhand seines Namens an seine Implementierungsform denken. Wenn es ums Sprudeln geht, denkt man als Erstes an einen kleinen Fisch, der im Wasser schwimmt, eine Reihe kleiner Bläschen ausspuckt und an die Wasseroberfläche steigt. Tatsächlich ist die Blasensortierungsmethode dieselbe wie das Platzen von Blasen. Dabei wird nur eine nach der anderen ausgespuckt, und zwar eine nach der anderen. Die zentrale Idee des Blasensortierungsalgorithmus besteht darin, zwei benachbarte Zahlen zu vergleichen und dann die Positionen entsprechend den Größenanforderungen auszutauschen. Beginnen wir mit dem einfachsten Array aus zwei Elementen und ziehen von dort aus Schlussfolgerungen. Angenommen, es gibt nur zwei Elemente in einem Array „int array = {8, 0};“. Beim Sortieren müssen wir nur ein Urteil fällen, um zu wissen, welches Element größer und welches kleiner ist. Unter der Annahme, dass wir von klein nach groß ordnen, sollte das Ergebnis der Anordnung „array = {0, 8};“ sein. Schauen wir uns ein Array mit drei Elementen an. Angenommen, es gibt nur zwei Elemente in einem Array „int array = {8, 0, 1};“. Dann führen wir noch einen paarweisen Vergleich durch. Im ersten Vergleich können wir daraus schließen, dass das Array „array = {0, 1, 8};“ sein sollte und nur ein Vergleich erforderlich ist, um die Sortierung des Arrays abzuschließen. Aber wenn das Array die Position der Elemente ändert, also „int array = {8, 1, 0};“, dann werfen wir noch einmal einen Blick darauf. Der erste paarweise Vergleich der Elemente wird zu „array = {1, 0,“. 8} ;“, wenn also diese Extremsituation auftritt, kann die Blasenmethode die Sortierung nicht mit einem Vergleich abschließen, dann sollte ein zweiter Vergleich durchgeführt werden. Schließlich können wir im zweiten Vergleich das Ergebnis „array = {0, 1, 8}; "Sehen wir uns die Sortierung des Arrays an, wenn es vier Elemente gibt. Diesmal nehmen wir einen Extremfall, das heißt, wir ändern ein Array, das von groß nach klein angeordnet ist, in ein Array, das von klein nach groß angeordnet ist. Das Array ist „int array = {9, 8, 1, 0};“. Zu diesem Zeitpunkt kann der erste Vergleich zweier benachbarter Elemente „Array = {8, 1, 0, 9};“ ergeben, und der zweite Vergleich benachbarter Elemente kann „Array = {1, 0, 8, 9}“ ergeben. ;“ kann der dritte paarweise Vergleich zu „array = {0, 1, 8, 9};“ führen. Basierend auf der obigen Analyse können wir wissen, dass, wenn ein Array n Elemente hat, die sortiert werden müssen, der Extremfall der Sortierung n-1-mal sein sollte. Der spezifische Sortiervorgang ist wie folgt.
Der Prozess der Blasensortiermethode
Auf der Grundlage der obigen Analyse können wir den Code also wie folgt schreiben.
Als nächstes modifizieren wir das Programm so, dass es bei jedem Schritt den Vergleich zweier benachbarter Elemente ausdruckt, wie in Abbildung 5-4-3 dargestellt. Wir können sehen, dass größere Elemente durch den Austausch langsam an die Spitze der Sequenz „schweben“ (in auf- oder absteigender Reihenfolge angeordnet), genau wie eine Reihe von Blasen, die von einem kleinen Goldfisch im Wasser ausgespuckt werden und langsam aus dem Wasser auftauchen. daher der Name „Bubble Sort“.
Einstufiges Drucken mit Blasensortierung
Sortiermethode „Auswahl“
Sortierung auswählen Sortierung auswählen, allgemein bekannt als „Bite the Bullet Sort“, natürlich habe ich diese „Bite the Bullet Sort“ genannt it Der Name erklärt die vier Wörter „Ästhetik der Gewalt“ perfekt, da es sich um die intuitivste Sortiermethode handelt. Um die Auswahlsortierung zu verstehen, stellen Sie sich zunächst vor, wie der Lehrer die Teams im Sportunterricht der Grundschule einteilt. Wählen Sie zunächst nach dem Zufallsprinzip einen Schüler aus, der der Meinung ist, dass er der Kleinste ist, und vergleichen Sie dann die anderen Schüler mit ihm. Wenn er größer ist, wird er hinter ihm platziert. er wird vorne platziert. Dann wird der zweite visuell überprüft und so weiter. Natürlich beschreibt der obige Absatz die inneren Gedanken des Sportlehrers. Wenn wir das Array sortieren, können wir diese Methode auch verwenden. Angenommen, wir möchten von klein nach groß ordnen, dann gehen wir zunächst davon aus, dass das erste Element das kleinste Element im Array ist, und vergleichen es dann mit den übrigen Elementen als es, dann Tauschen Sie sich mit diesem Element aus. Auf diese Weise müssen Sie nur das gesamte Array durchlaufen und das kleinste Element an der Position des ersten Elements platzieren. Wie unten gezeigt.
Auswahlsortierung führt einen Durchlaufvergleich durch
Im Bild oben haben wir durch den ersten Durchlaufvergleich die kleinsten Elemente am äußersten linken Ende des Arrays angeordnet, und als nächstes müssen wir nur eines tun pass Vergleichen Sie die verbleibenden 9 Elemente, ermitteln Sie den Mindestwert und setzen Sie ihn rechts von 0 usw. Schließlich können wir das Auswahlsortierungsprogramm wie in der folgenden Abbildung schreiben.
Das obige ist der detaillierte Inhalt vonVerwenden Sie die Java-Sprache, um Blasensortierungs- und Auswahlsortierungsalgorithmen zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!