美文网首页
JavaScript算法实现 -- 快速排序

JavaScript算法实现 -- 快速排序

作者: 调皮的小卷羊 | 来源:发表于2017-10-12 22:29 被阅读0次

1.在数据集之中,找一个基准点

  1. 建立两个数组,分别存储左边和右边的数组

  2. 利用递归进行下次比较

       function quickSort(arr) {
            if (arr.length <= 1) {
                // 如果数组只是一个元素 递归终止
                return arr
            }
            // 找到数组中间的基准索引
            let pointIndex = ~~arr.length / 2
            // 找到数组中间索引的值
            let pointValue = arr.splice(pointIndex, 1)
            let left = [], right = []
            arr.forEach(item => {
                // 基准点的左边的数传到左边数组 基准点的右边的数传到右边数组
                item < pointValue ? left.push(item) : right.push(item)
            })
            //递归不断重复比较 
            return quickSort(left).concat(pointValue, quickSort(right))
        }

相关文章

网友评论

      本文标题:JavaScript算法实现 -- 快速排序

      本文链接:https://www.haomeiwen.com/subject/incayxtx.html