Dieser Artikel beschreibt den von Java implementierten Fast Sorting -Algorithmus basierend auf der Abteilung und der Eroberungsmethode. Teilen Sie es für Ihre Referenz wie folgt weiter:
Paket cn.nwsuaf.quick;/*** generieren zufällig 20 Nummern und sortieren Sie sie schnell** @author liu yonglang**/public class Quick {/*** Austauschfunktion implementieren den Austauschoperium von zwei Zahlen im Array** @param Array* Array, das betrieben werden soll. swap (int [] array, int i, int j) {int temp = array [i]; Array [i] = Array [j]; Array [j] = temp; } / *** Division und Conquer Division Algorithmus** @param Array* Array zu bedienen* @param low* Startadresse des Moduls in Abteilung* @Param Height* Endadresse des Moduls in Abteilung* @return Standort -Subscript des Referenzelements* / public static Int Quick (int [] array, int low, int low, {// //. // von rechts nach links scannen, um das erste Element zu finden, das kleiner als Pivot ist, während (niedrig <Höhe) {while (niedrig <Höhe && Array [Höhe]> = Pivot) Höhe--; // zeigt an, dass ein Element, das kleiner als Pivot ist, gefunden wurde, wenn (niedrig <Höhe) // Nach dem Swap einen Swap +1 Operation Swap (Array, niedrig ++, Höhe) ausführt; // von links nach rechts scannen, um das erste Element zu finden, das größer als Pivot ist (niedrig <Höhe && Array [niedrig] <= Pivot) niedrig ++; // zeigt an, dass ein Element, das größer als Pivot ist, gefunden wurde, wenn (niedrig <Höhe) // nach dem Swap -1-Operationstausch (Array, niedrig, Höhe-) ausführt; } // kehren Sie zur endgültigen Position des Referenzelement -Rückgabehöhe zurück; } / ** * schnelle Art von Array * * @param Array * Array zu betreiben * @param low * @param Höhe * hoch * / public static void sort (int [] Array, int Low, int Höhe) {// Aufzeichnung der Position, die dem geteilten Referenzelement int temp entspricht; // nur sortieren, wenn (niedrig <Höhe) {// Array temp = Quick (Array, niedrig, Höhe); // sortiv für die linke Intervallsorte sortieren (Array, niedrig, temp - 1); // Sortieren Sie rekursiv für die richtige Intervallsorte (Array, Temp + 1, Höhe); }} public static void main (String [] args) {int [] array = new int [20]; System.out.println ("Wulin.com Testergebnis:"); System.out.print ("Bevor Sortiersequenz:"); für (int i = 0; i <array.length; i ++) {// generieren zufällig 20 Ganzzahlen von 0-99 Array [i] = (int) (math.random () * 100); System.out.print (Array [i] + ""); } System.out.print ("/nsorted Sequenz:"); sortieren (Array, 0, Array.Length - 1); für (int i = 0; i <array.length; i ++) System.out.print (Array [i]+""); }}Auslaufergebnisse:
PS: Hier ist ein Demonstrationstool für Ihre Referenz:
Online -Animation Demonstration einfügen/auswählen/bubble/merge/hill/Schnellsortieralgorithmus -Prozess -Tool:
http://tools.vevb.com/aideddesign/paixu_ys
Für weitere Informationen zu Java -Algorithmen können Leser, die an dieser Website interessiert sind, die Themen "Java -Datenstruktur und Algorithmus -Tutorial", "Zusammenfassung der Java -Operation DOM -Knoten -Tipps", "Zusammenfassung der Java -Datei- und Verzeichnisoperationstipps" und "Zusammenfassung der Java -Cache -Operation Tipps" anzeigen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.