js 快速排序

前端工作中常用到的算法之一:快速排序法

直接上代码

this.textFun()
methods: {
            textFun() {
                const arr = [1,2,8,5,3,2,0]
                const initArr = this.sortArr(arr)
                console.log(initArr)
            },
            sortArr(arr) {
                if (arr.length <= 1) {
                    return arr
                }
                const left = [], right = [], current = arr.splice(0, 1);
                for (let i = 0; i < arr.length; i++) {
                    if (arr[i] < current) {
                        left.push(arr[i])
                    } else {
                        right.push(arr[i])
                    }
                }
                return this.sortArr(left).concat(current, this.sortArr(right))
            },
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 这两天看到阮一峰前辈的快排引起的一系列事件...(居然DDOS都出来了),前端界又被顺路diss了一番,想起...
    NowhereToRun阅读 4,466评论 0 1
  • 记录一下日常学习,今天实现一下js快速排序 代码和思路如下 方法写完了 运行一下 看看结果 完美
    AnsiMono阅读 3,012评论 0 3
  • tips:接下去会在github写博客,简书不再更新和修改文章,欢迎大家逛逛我的新博客点击查看 ,我会尽量用更容易...
    aermin阅读 8,573评论 0 6
  • 首先了解什么是快速排序。 1、找到一个基准值(一般是中间位)2、然后将数组的值与基准值比较,分为两个数组(比基准值...
    TsingXu阅读 2,790评论 0 0
  • // 快速排序,取两个数组分别存放比原数组第一个元素大跟小的元素 function fastSort(array)...
    在前端搞笑阅读 2,948评论 0 2