本文提供两种JavaScript实现快排方式,
第一种为阮一峰老师所写
原文地址:http://www.ruanyifeng.com/blog/2011/04/quicksort_in_javascript.html
第二种为个人看到讲解比较不错的C++实现(已修改为JavaScript实现)
原文地址:http://blog.csdn.net/morewindows/article/details/6684558
"快速排序"的思想很简单,整个排序过程只需要三步:
(1)在数据集之中,选择一个元素作为"基准"(pivot)。
(2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。
(3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。
javascript实现方式1:
let quickSort = function(arr) {
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