Die Idee des "schnellen Sortierens" ist sehr einfach, und der gesamte Sortiervorgang erfordert nur drei Schritte:
(1) Suchen Sie im Datensatz einen Benchmark
(2) Erstellen Sie zwei Arrays und speichern Sie die linken und rechten Arrays
(3) Verwenden Sie eine Rekursion, um den nächsten Vergleich zu machen
Schauen Sie sich eine Demo an: http://jsdo.it/norahiko/oxiy/fullscreen (die Webseite kann langsam geöffnet sein, langsam warten)
<script type = "text/javaScript"> Funktion QuickSort (arr) {if (arr.length <= 1) {return arr; // Wenn es nur eine Nummer im Array gibt, wird es direkt zurückgegeben. } var num = math.floor (arr.length/2); // Finden Sie den Indexwert der Zwischenzahl. Wenn es sich um eine schwimmende Punktzahl handelt, rund down var numvalue = arr.splice (num, 1); // finden Sie den Wert der Zwischenzahl var links = []; var rechts = []; für (var i = 0; i <arr.length; i ++) {if (arr [i] <numvalue) {linke.push (arr [i]); // Die Nummer links vom Referenzpunkt wird an das linke Array übergeben} else {rechts.push (arr]); // Die Nummer am rechten Uhr ist nach rechts vom rechten Array}}}}}}}}}}}}}}}}}}}}}} Quicksort (links) .Concat ([Numvalue], Quicksort (rechts)); // rekursiv wiederholen} alert (QuickSort ([32,45,37,16,2,87]); // Pop "2,16,32,37,45,87" </script> pop "2,16,32,37,87" </script> pop "</script> pop" </script> pop "</script> pop" </script>