排序

58 阅读1分钟

1、快速排序 快排基本思想:
(1)从数列中取出一个数作为基准数
(2)分区过程,将比这个数大的数全放在它的右边,小于或等于它的数全放在左边
(3)再对左右区间重复第二步,直到各区间只有一个数

function quickSort(arr) {

if(arr.length <= 1) return arr;

const middleIndex = Math.floor(arr.length / 2);

const middle = arr.splice(middleIndex,1)[0];

const left = [], right = [];

arr.foreach(item => {

if(item < middle) {
  left.push(item);
}else {
  right.push(item);
}

}); return quickSort(left).concat(middle,quickSort(right)); }