const Arr = [85, 24, 63, 45, 17, 31, 96, 50];
function quickSort(arr) {
80
if (arr.length <= 1) {
return arr;
}
let pivotIndex = Math.floor(arr.length / 2);
let pivot = arr.splice(pivotIndex, 1)[0];
let left = [];
let right = [];
for (let i = 0; i < arr.length; 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));
相关文章
- 10-27你需要知道的九大排序算法【Python实现】之堆排序
- 10-27JS排序:localeCompare() 方法实现中文排序、sort方法实现数字英文混合排序
- 10-27线性时间的排序算法--桶排序(以leetcode164. Maximum Gap为例讲解)
- 10-27排序算法----调用库函数qsort进行快速排序
- 10-27希尔排序算法-python实现
- 10-27基于visual Studio2013解决面试题之1408桶排序
- 10-27内排序:冒泡排序、简单选择排序、直接插入排序、希尔排序、堆排序、快速排序介绍及C语言实现
- 10-27js中的filter过滤和排序
- 10-27python实现归并排序算法
- 10-27用函数实现冒泡法排序算法,函数原型为:void BubbleSort(int *a, int n);在 主程序中调用为输入的数组排序。