Heim >Java >javaLernprogramm >Mehrere gängige Methoden zum Schreiben der Blasensortierung in Java
Übliche Schreibmethoden: 1. Einfache Blasensortierung; 2. Verbesserte Blasensortierung: Da jede äußere Schleife die größte Zahl an die richtige Position verschiebt, kann die Anzahl der inneren Schleifen reduziert werden, wodurch die Effizienz verbessert wird Sortieren und Blasensortieren: Diese Schreibmethode basiert auf der Idee der Einfügesortierung, indem die sortierten Elemente schrittweise nach vorne verschoben werden, sodass die unsortierten Elemente schrittweise geordnet werden. Diese Methode wird „Cocktail-Sequenzierung“ genannt.
Das Betriebssystem dieses Tutorials: Windows 10-System, Dell G3-Computer.
Bubble Sort ist ein einfacher Sortieralgorithmus, der das zu sortierende Array wiederholt durchläuft, zwei Elemente gleichzeitig vergleicht und sie vertauscht, wenn sie in der falschen Reihenfolge sind. Die Arbeit des Durchlaufens des Arrays wird wiederholt, bis kein Austausch mehr erforderlich ist, was bedeutet, dass das Array sortiert wurde.
Das Folgende sind einige gängige Java-Implementierungen der Blasensortierung:
1. Grundlegende Blasensortierung:
Java
public static void bubbleSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { // swap arr[j+1] and arr[j] int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
2. Verbesserte Blasensortierung: Aufgrund jeder äußeren Schleife wird die größte Zahl verschoben die richtige Position, so dass die Anzahl der inneren Schleifen reduziert und dadurch die Effizienz verbessert werden kann.
java
public static void bubbleSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { boolean swapped = false; for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { // swap arr[j+1] and arr[j] int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; swapped = true; } } // If no two elements were swapped by inner loop, then the array is sorted if (!swapped) break; } }
3. Kombination aus Einfügungssortierung und Blasensortierung: Diese Schreibmethode basiert auf der Idee der Einfügungssortierung, indem die sortierten Elemente schrittweise nach vorne verschoben werden, sodass die unsortierten Elemente schrittweise geordnet werden. Diese Methode wird „Cocktail-Sequenzierung“ genannt.
Java
public static void cocktailSort(int[] arr) { int n = arr.length; boolean swapped; // to flag if any swap has been made in a pass for (int i = 0; i < n - 1; i++) { swapped = false; // assume this pass will do nothing for (int j = 0; j < n - 1 - i; j++) { // start with the second last element and go to the last one if (arr[j] > arr[j + 1]) { // if the current element is greater than the next one, swap them int temp = arr[j]; // swap elements arr[j] = arr[j + 1]; arr[j + 1] = temp; swapped = true; // flag to indicate a swap has been made in this pass } } // if no two elements were swapped in this pass, then the array is sorted, so we can stop the sorting process if (!swapped) break; // no swaps means the array is sorted, so we can stop the sorting process. This optimization is not required for correctness, but it can help in practice. If the array is already sorted, the outer loop will keep making passes without making any swaps, so we can stop early. This optimization can be applied to any version of bubble sort
Das obige ist der detaillierte Inhalt vonMehrere gängige Methoden zum Schreiben der Blasensortierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!