Heim  >  Artikel  >  Java  >  Eine ausführliche Analyse der prägnantesten Implementierung der Blasensortierung in Java

Eine ausführliche Analyse der prägnantesten Implementierung der Blasensortierung in Java

WBOY
WBOYOriginal
2024-01-30 10:03:06936Durchsuche

Eine ausführliche Analyse der prägnantesten Implementierung der Blasensortierung in Java

Detaillierte Erklärung der einfachsten Art, Java Bubble Sort zu schreiben

Bubble Sort ist ein grundlegender Sortieralgorithmus. Er implementiert die Sortierung durch Vergleichen und Austauschen benachbarter Elemente, sobald sie nach oben (oder unten) verschoben werden ) an die richtige Position. In diesem Artikel wird die einfachste Möglichkeit zum Schreiben einer Blasensortierung in Java ausführlich erläutert und spezifische Codebeispiele bereitgestellt.

Die Grundidee der Blasensortierung besteht darin, benachbarte Elemente von links nach rechts zu vergleichen und ihre Positionen zu tauschen, wenn das vorherige Element größer (oder kleiner) als das letztere ist. Nach einer solchen Vergleichs- und Austauschrunde „blubbert“ das größte (oder kleinste) Element ganz rechts (oder ganz links). Führen Sie dann den gleichen Vorgang für die verbleibenden Elemente durch, bis alle Elemente sortiert sind.

Das Folgende ist der einfachste Weg, eine Blasensortierung in Java zu schreiben:

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        int len = arr.length;
        for (int i = 0; i < len - 1; i++) {
            for (int j = 0; j < len - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    // 交换相邻元素的位置
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }

    public static void main(String[] args) {
        int[] arr = {5, 2, 8, 7, 1, 3, 9, 4, 6};
        bubbleSort(arr);
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}

Im obigen Code definieren wir zunächst eine bubbleSort-Methode, die ein ganzzahliges Array als Parameter empfängt. Bei dieser Methode verwenden wir zwei verschachtelte for-Schleifen. Die äußere Schleife steuert die Anzahl der Runden und die innere Schleife steuert den Vergleich und Austausch in jeder Runde. bubbleSort方法,该方法接收一个整型数组作为参数。在该方法中,我们使用两个嵌套的for循环,外层循环控制轮数,内层循环控制每一轮中的比较和交换。

内层循环的初始值是len - 1 - i,其中len是数组的长度,i是当前轮数。这是因为每一轮都会有一个元素移动到正确的位置,所以每一轮结束后,需要比较和交换的元素数量会减少。

在内层循环中,我们使用arr[j]arr[j + 1]进行比较,如果arr[j]大于arr[j + 1],则交换它们的位置。交换使用一个临时变量temp来暂存arr[j]的值,然后将arr[j + 1]的值赋给arr[j],最后将temp的值赋给arr[j + 1],完成交换。

main方法中,我们创建了一个包含9个整数的数组,并调用bubbleSort

Der Anfangswert der inneren Schleife ist len - 1 - i, wobei len die Länge des Arrays und i der Strom ist gerade Zahl. Dies liegt daran, dass in jeder Runde ein Element an die richtige Position verschoben wird, sodass nach jeder Runde weniger Elemente verglichen und ausgetauscht werden müssen.

In der inneren Schleife verwenden wir arr[j] und arr[j + 1] zum Vergleich, wenn arr[j] größer ist als arr[j + 1], werden ihre Positionen vertauscht. Exchange verwendet eine temporäre Variable temp, um den Wert von arr[j] vorübergehend zu speichern, und weist dann den Wert von arr[j + 1] zu zu arr[j] und weisen Sie schließlich den Wert von temp zu arr[j + 1] zu, um den Austausch abzuschließen.

In der Methode main erstellen wir ein Array mit 9 Ganzzahlen und rufen die Methode bubbleSort auf, um das Array zu sortieren. Abschließend durchlaufen Sie das Array mit einer for-Schleife und geben jedes Element aus. 🎜🎜Durch Ausführen des obigen Codes können wir die folgende Ausgabe erhalten: 🎜
1 2 3 4 5 6 7 8 9
🎜Das Obige ist die einfachste Möglichkeit, eine Blasensortierung in Java und spezifische Codebeispiele zu schreiben. Obwohl die Blasensortierung einfach ist, ist sie in praktischen Anwendungen weniger effizient. Daher sollten Sie bei der Verarbeitung großer Datenmengen die Verwendung eines effizienteren Sortieralgorithmus in Betracht ziehen. 🎜

Das obige ist der detaillierte Inhalt vonEine ausführliche Analyse der prägnantesten Implementierung der Blasensortierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn