Heim  >  Artikel  >  Java  >  Was ist der einfachste Weg, eine Blasensortierung in Java zu schreiben?

Was ist der einfachste Weg, eine Blasensortierung in Java zu schreiben?

DDD
DDDOriginal
2024-01-09 13:45:071069Durchsuche

Der einfachste Weg, eine Java-Blasensortierung zu schreiben: 1. Verwenden Sie zwei verschachtelte for-Schleifen, um benachbarte Elemente zu vergleichen und auszutauschen. Die äußere Schleife steuert die Anzahl der Vergleichs- und Austauschrunden, und die innere Schleife wird zum Durchlaufen des Arrays verwendet Führen Sie Vergleichs- und Austauschoperationen durch. Das größte Element wird an das Ende des Arrays ausgetauscht. 2. Verwenden Sie die Hauptmethode, um ein Array mit einigen Ganzzahlen zu erstellen, und rufen Sie die BubbleSort-Methode auf, um das Array zu sortieren. , das sortierte Array drucken usw.

Was ist der einfachste Weg, eine Blasensortierung in Java zu schreiben?

Das Betriebssystem dieses Tutorials: Windows 10-System, Dell G3-Computer.

Der einfachste Weg, eine Java-Bubble-Sortierung zu schreiben, ist wie folgt:

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        int n = arr.length;
        boolean swapped;
        
        for (int i = 0; i < n - 1; i++) {
            swapped = false;
            
            for (int j = 0; j < n - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    // 交换相邻元素
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swapped = true;
                }
            }
            
            // 如果没有发生交换,则数组已经有序,可以提前结束循环
            if (!swapped) {
                break;
            }
        }
    }
    
    public static void main(String[] args) {
        int[] arr = {64, 34, 25, 12, 22, 11, 90};
        bubbleSort(arr);
        System.out.println("排序后的数组:");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}

In dieser einfachen Bubble-Sort-Implementierung verwenden wir zwei verschachtelte for-Schleifen, um benachbarte Elemente zu vergleichen und auszutauschen. Die äußere Schleife steuert die Anzahl der Vergleichs- und Austauschrunden, und die innere Schleife wird zum Durchlaufen des Arrays und zum Durchführen von Vergleichs- und Austauschoperationen verwendet. Nach jeder Runde der inneren Schleife wird das größte Element an das Ende des Arrays verlagert. Die Endbedingung der inneren Schleife ist n – i – 1, wobei n die Länge des Arrays und i der Index der äußeren Schleife ist. Die innere Schleife verwendet auch ein Swap-Flag, um festzustellen, ob ein Swap stattgefunden hat. Wenn kein Swap stattgefunden hat, bedeutet dies, dass das Array in Ordnung ist und die Schleife vorzeitig beendet werden kann.

In der Hauptmethode erstellen wir ein Array mit einigen Ganzzahlen und rufen die Methode bubbleSort auf, um das Array zu sortieren. Zum Schluss drucken wir das sortierte Array.

Die zeitliche Komplexität dieser einfachen Blasensortierungsimplementierung beträgt O(n^2), wobei n die Länge des Arrays ist. Obwohl diese Implementierung einfach und leicht zu verstehen ist, ist sie für große Datenmengen weniger effizient. Daher müssen in praktischen Anwendungen möglicherweise andere effizientere Sortieralgorithmen in Betracht gezogen werden.

Das obige ist der detaillierte Inhalt vonWas ist der einfachste Weg, eine Blasensortierung in Java zu schreiben?. 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