Dieser Artikel beschreibt die Implementierungsmethode der Java -Schnellsortierung. Teilen Sie es für Ihre Referenz wie folgt weiter:
Paket com.ethan.sort.java; Import Java.util.Arrays; Import Java.util.iterator; Import Java.util.LinkedList; Import Java.util.List; öffentliche Klasse QuickSort {Public static <e erweitert vergleichbar <? Super e >> list <e> quicksort (list <e> arr) {if (arr.size () <= 1) {return arr; } E pivot = arr.get (0); // Jedes Mal, wenn sie initialisiert wird, ist jede Liste eine andere Liste <e> weniger = new LinkedList <E> (); // Pivot, dieses Set hat nur ein Element und wird jedes Mal initialisiert, unterschiedliche Liste <E> pivotlist = new LinkedList <E> (); Liste <E> more = new LinkedList <E> (); für (e i: arr) {if (i.comPareto (pivot) <0) {weniger.add (i); } else if (i.comPareto (pivot)> 0) {more.add (i); } else {PivotList.add (i); //System.out.println("p---->"+i); }} // rekursiv weniger = QuickSort (weniger); // Der kleinere als pivot // Die Quicksort wird erneut durchgeführt, und für mehr wird es in zwei Teile mehr unterteilt = QuickSort (mehr); // Weniger Pivot mehr weniger trennen.addall (Pivotlist); // PV --------> [23], am Ende gibt es nur ein Element-System. weniger.addall (mehr); weniger zurückkehren; } / ** * @param args * / public static void main (String [] args) {// Todo automatisch generierte Methode Stub Integer [] arr = {23,2,8,43,22,32,4,5,34}; Liste l = quicksort (Arrays.aSlist (arr)); Iterator I = L.Irator (); while (i.hasnext ()) {System.out.println (i.Next ()); }}}Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.