快速排序
const Arr = [9, 11, 1, 5, 4, 3, 7, 6, 2, 6, 8];
function quickSort(Arr) {
if (Arr.length <= 1) return Arr;
let index = Math.floor(Arr.length / 2); // 取中间位置
let pivot = Arr.splice(index, 1)[0]; // 取中间值
let left = [],
right = [];
for (let i = 0, j = Arr.length; i < j; i++) {
if (Arr[i] < pivot) left.push(Arr[i]);
//左为小
else right.push(Arr[i]); //右为大
}
// 递归执行
return quickSort(left).concat([pivot], quickSort(right));
}
console.log(quickSort(Arr));