JavaScript实现经典排序算法—快排
快速排序算法的性能比之前的冒泡、选择排序都要好,和归并排序一样,是一个可以用于实战的算法,听说chrome用的就是快排
又听说前端面试会考,那你实现一个快排吧!
一、快速排序的算法思路
还是在这里看一下快排是啥意思
快速排序算法动图
1、快速排序的特点就是随机设置一个基准点,比如是数组的第一个元素,然后数组的其他元素就跟这个基准线进行对比,比基准线大的放在左边,比基准线小的放在右边
2、再设置一个基准线,再这样小的放左边,大的放右边,递归。
二、编码实现
详细分析写在注释里了
Array.prototype.quickSort = function() {
const rec = (arr) => {
// 递归都是要有尽头的,不然会无限进行下去
// 直到Maximum call stack size exceeded