1. Algorithmuskonzept.
Quicksort ist eine Verbesserung der Blasensortierung. 1962 von CAR Hoare vorgeschlagen.
2. Algorithmisches Denken.
Teilen Sie die zu sortierenden Daten in zwei unabhängige Teile auf. Alle Daten in einem Teil sind kleiner als alle Daten im anderen Teil. Verwenden Sie dann diese Methode, um die beiden Teile der Daten schnell zu sortieren Der Sortiervorgang kann rekursiv ablaufen, sodass die gesamten Daten zu einer geordneten Reihenfolge werden.
3. Ideen umsetzen.
① Verwenden Sie das erste Schlüsselwort K 1 als Kontrollwort und teilen Sie [K 1 ,K 2 ,…,K n ] in zwei Unterbereiche auf, sodass alle Schlüsselwörter im linken Bereich kleiner oder gleich K 1 und alle Schlüsselwörter sind im rechten Bereich sind größer oder gleich K 1, und schließlich befindet sich das Steuerwort an der entsprechenden Stelle zwischen den beiden Teilbereichen. Die Daten im Unterbereich befinden sich noch in einem ungeordneten Zustand.
② Behandeln Sie den linken Bereich als Ganzes und verarbeiten Sie ihn mit den Schritten von ①, und führen Sie die gleiche Verarbeitung im rechten Bereich durch. (d. h. Rekursion)
③ Wiederholen Sie die Schritte ① und ②, bis der linke Bereich bearbeitet ist.
public static void quickSortByMid(int[] a, int low, int high) { if (low >= high) return; // Split int Pivot = a[low] // Basiswert int i = low, j = high; while (i < j) { while (i < j && a[j] >= Pivot) --j; +i; a[j]=a[i]; } a[i]=pivot; quickSortByMid(a, i+1, high);Schematische Darstellung des Schnellsortierungsalgorithmus:
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für alle hilfreich sein, den Java-Schnellsortierungsalgorithmus zu erlernen.