Auswahlsortierung ist ein einfacher und intuitiver Sortieralgorithmus, unabhängig davon, welche Daten eingegeben werden, die Zeitkomplexität ist O(n²). Bei der Verwendung gilt also: Je kleiner die Datengröße, desto besser. Der einzige Vorteil besteht möglicherweise darin, dass kein zusätzlicher Speicherplatz belegt wird Startposition der sortierten Reihenfolge.
Suchen Sie dann weiterhin das kleinste (größte) Element aus den verbleibenden unsortierten Elementen und platzieren Sie es am Ende der sortierten Sequenz.
Wiederholen Sie den zweiten Schritt, bis alle Elemente sortiert sind.public static void selectSort(int[] arr) { //选择排序 if(arr == null || arr.length < 2) { return; } int n = arr.length; for (int i = 0; i < n; i++) { int minValueIndex = i; for (int j = i+1; j < n; j++) { minValueIndex = arr[j] < arr[minValueIndex] ? j : minValueIndex; } swap(arr,i,minValueIndex); } } public static void swap(int[] arr,int i,int j) { int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } public static void printArray(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } System.out.println(); } public static void main(String[] args) { int[] arr = {7,5,1,9,4,2,6}; printArray(arr); selectSort(arr); printArray(arr); }
2. Blasensortierung
**Das Prinzip des Blasensortierungsalgorithmus ist wie folgt: **#🎜🎜 # 1. Vergleichen Sie benachbarte Elemente. Wenn das erste größer als das zweite ist, tauschen Sie beide aus.
3. Wiederholen Sie die obigen Schritte für alle Elemente außer dem letzten.
4. Wiederholen Sie die obigen Schritte jedes Mal für immer weniger Elemente, bis keine Zahlenpaare mehr zum Vergleichen vorhanden sind.
public static void bubbleSort(int[] arr) { if(arr == null || arr.length < 2) { return; } int n = arr.length; for (int i = n-1; i >= 0; i--) { for (int j = 0; j < i; j++) { if(arr[j] > arr[j+1]) { swap(arr,j,j+1); } } } } public static void swap(int[] arr,int i,int j) { int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } public static void main(String[] args) { int[] arr = {14,6,3,10,2}; printArray(arr); bubbleSort(arr); printArray(arr); }
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung häufig verwendeter Sortieralgorithmen und Implementierungsmethoden in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!