Идея «быстрой сортировки» очень проста, и весь процесс сортировки требует только трех шагов:
(1) Найдите ориентир в наборе данных
(2) Создать два массива, хранение левых и правых массивов соответственно
(3) Используйте рекурсию, чтобы сделать следующее сравнение
Посмотрите на демонстрацию: http://jsdo.it/norahiko/oxiy/fullscreen (веб -страница может быть медленной, медленно подождите)
<script type = "text/javascript"> function QuickSort (arr) {if (arr.length <= 1) {return arr; // Если в массиве есть только один номер, он будет возвращен напрямую; } var num = math.floor (arr.length/2); // findex значение индекса промежуточного числа. Если это номер плавающей температуры, округлый вниз var numvalue = arr.splice (num, 1); // findex значение промежуточного числа var left = []; var right = []; for (var i = 0; i <arr.length; i ++) {if (arr [i] <numvalue) {left.push (arr [i]); // число слева от контрольной точки передается в левый массив} wome {справа QuickSort (слева) .concat ([numvalue], QuickSort (справа)); // рекурсивно повторить сравнение} alert (QuickSort ([32,45,37,16,2,87])); // pop "2,16,32,37,45,87" </script>