Cet article décrit la méthode de mise en œuvre du tri rapide Java. Partagez-le pour votre référence, comme suit:
package com.ethan.sort.java; import java.util.arrays; import java.util.iterator; import java.util.linkedlist; import java.util.list; public class Quicksort {public static <e étend comparable <?? super e >> list <e> Quicksort (list <e> arr) {if (arr.size () <= 1) {return arr; } E pivot = arr.get (0); // Chaque fois qu'il est initialisé, chaque liste est différente de la liste <e> moins = new LinkedList <e> (); // Pivot, cet ensemble n'a qu'un seul élément et est initialisé à chaque fois, différents listes <e> pivotlist = new LinkedList <e> (); List <e> plus = new LinkedList <e> (); pour (e i: arr) {if (i.compareto (pivot) <0) {moins.add (i); } else if (i.compareto (pivot)> 0) {plus.add (i); } else {pivotlist.add (i); //System.out.println("p---->"+i); }} // recursif moins = Quicksort (moins); // le plus petit que pivot // le Quicksort est à nouveau réalisé, et pour plus, il est divisé en deux parties de plus = Quicksort (plus); // Split moins pivot plus moins.addall (pivotlist); // pv --------> [23], à la fin, il n'y a qu'un seul élément System.out.println ("pv --------->" + pivotlist); moins.addall (plus); retourne moins; } / ** * @param args * / public static void main (String [] args) {// TODO Méthode auto-générée entier entier [] arr = {23,2,8,43,22,32,4,5,34}; List l = Quicksort (arrays.aslist (arr)); Iterator i = l.iterator (); while (i.hasnext ()) {System.out.println (i.next ()); }}}J'espère que cet article sera utile à la programmation Java de tous.