L'idée de "tri rapide" est très simple, et l'ensemble du processus de tri ne nécessite que trois étapes:
(1) Trouvez une référence dans l'ensemble de données
(2) Créez deux tableaux, stockant respectivement les tableaux gauche et droit
(3) utiliser la récursivité pour faire la comparaison suivante
Regardez une démo: http://jsdo.it/norahiko/oxiy/fullscreen (la page Web peut être lente à ouvrir, attendre lentement)
<script type = "text / javascript"> function Quicksort (arr) {if (arr.length <= 1) {return arr; // s'il n'y a qu'un seul numéro dans le tableau, il sera renvoyé directement; } var num = math.floor (Arr.Length / 2); // FindEx la valeur d'index du nombre intermédiaire. S'il s'agit d'un nombre de points flottants, arrondir var numvalue = arr.splice (num, 1); // finEx la valeur du nombre intermédiaire var gauche = []; var droit = []; pour (var i = 0; i <arr.length; i ++) {if (arr [i] <numValue) {Left.push (arr [i]); // le nombre à gauche du point de référence est passé au tableau gauche} else {droite.push (arr [i]); // Le nombre à droite du point de référence est passé à la table droite}} Quicksort (gauche) .Concat ([numValue], Quicksort (à droite)); // Répéter récursive la comparaison} alerte (Quicksort ([32,45,37,16,2,87])); // pop "2,16,32,37,45,87" </ script>