La idea de "clasificación rápida" es muy simple, y todo el proceso de clasificación solo requiere tres pasos:
(1) Encuentre un punto de referencia en el conjunto de datos
(2) Crear dos matrices, almacenando las matrices izquierda y derecha respectivamente
(3) Use la recursión para hacer la próxima comparación
Mire una demostración: http://jsdo.it/norahiko/oxiy/fullscreen (la página web puede ser lenta, espere lentamente)
<script type = "text/javaScript"> function Quicksort (arr) {if (arr.length <= 1) {return arr; // Si solo hay un número en la matriz, se devolverá directamente; } var num = math.floor (arr.length/2); // findex el valor de índice del número intermedio. Si se trata de un número de punto flotante, redondea la var numvalue = arr.splice (num, 1); // findex el valor del número intermedio var con izquierda = []; var right = []; for (var i = 0; i <arr.length; i ++) {if (arr [i] <numValue) {left.push (arr [i]); // El número de la izquierda del punto de referencia se pasa a la matriz izquierda} else {right.push (arr [i]); // El número de la derecha del punto de referencia se pasa a la array derecha}} Quicksort (izquierda) .concat ([numvalue], Quicksort (derecha)); // Repita recursivamente alerta de comparación} (QuickSort ([32,45,37,16,2,87])); // Pop "2,16,32,37,45,87" </scrito>