Sortieren Wird normalerweise durch eine doppelschichtige Schleife implementiert, wobei die äußere Schleife die Anzahl der Schleifenrunden steuert und die innere Schleife eine einfache Sortierung implementiert. Der Index der äußeren Schleife reicht von 1 bis arr.length-1, und die Anzahl der Iterationen der inneren Schleife nimmt mit zunehmender Anzahl der Iterationen der äußeren Schleife ab.
Vergleichen Sie nebenstehend Wenn zwei Elemente die Bedingungen erfüllen, tauschen sie ihre Positionen, sodass das größere Element nach hinten verschoben wird.
public static int[] bubbleSort(int[] arr) {for (int i = 1; i < arr.length; i++) {for (int j = 0; j < arr.length - i; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } }return arr; }
Filtern Sie den Maximalwert aus der unsortierten Sequenz heraus und platzieren Sie ihn am Ende der unsortierten Sequenz. Die äußere Schleife durchläuft eine Schleife und tauscht dabei die Position des Maximalwerts der unsortierten Sequenz mit der Position des letzten Elements der unsortierten Sequenz aus. Der Schlüssel besteht darin, den Index des Maximalwerts zu erhalten. Die direkte Sortierung ist schneller als die Blasensortierung.
Eintrittspunkt der inneren Schleife: Nehmen Sie an, dass das erste Element in der unsortierten Sequenz, dh das Element mit Index 0, der Maximalwert ist, und vergleichen Sie ihn dann mit den verbleibenden Elementen Ermitteln Sie den Index des Maximalwerts.
public static int[] directSort(int[] arr) {int len = arr.length;int index;for (int i = 1; i < len; i++) { index = 0;for (int j = 1; j <= len - i; j++) {if (arr[index] < arr[j]) { index = j; }int temp = arr[len - i]; arr[len - i] = arr[index]; arr[index] = temp; } }return arr; }
Um die Positionen zweier Elemente auszutauschen, deren Indexsumme arr.length-1 ist, ist nur eine Schleife erforderlich, und die Anzahl der Schleifen beträgt arr. Länge/2- 1.
public static int[] reverseSort(int[] arr) {for (int i = 0; i < arr.length / 2; i++) {int temp = arr[i]; arr[i] = arr[arr.length - 1 - i]; arr[arr.length - 1 - i] = temp; }return arr; }
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Array-Sortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!