题解 | #快速排序#

快速排序

https://www.nowcoder.com/practice/38da660199d0400580ac3905c05f5bd6

快速排序的思想就是分治,主要思路就是,找到一个基准值(pivot),然后把整个数组切分成两个数组,左边数组的值都比基准值小,右边数组的值都比基准值大,然后递归对子数组进行排序。(相当于每一个切分下来的数组都是用的快速排序)

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <style>
       /* 填写样式 */
    </style>
</head>

<body>
    <!-- 填写标签 -->
    <script type="text/javascript">
        // 填写JavaScript
        const _quickSort = array => {
            if(array.length<=1) return array
            const len = array.length
            let left = []
            let right = []
            let pivot = array[0]
            for(let i=1;i<len;i++){
                if(array[i]<pivot){
                    left.push(array[i])
                }else if(array[i]>pivot){
                    right.push(array[i])
                }
            }
            return [..._quickSort(left),pivot,..._quickSort(right)]
        }
    </script>
</body>

</html>

手撕题题库 文章被收录于专栏

这是我开卷的第一步!!

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务