美文网首页
三大经典排序算法

三大经典排序算法

作者: 明明你也一样 | 来源:发表于2019-12-09 11:48 被阅读0次

冒泡排序

function BubbleSort(arr){
    for(let i = 0; i < arr.length-1; i++){
        for (let j = 0; j < arr.length - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                let temp = null
                temp = arr[j]
                arr[j] = arr[j + 1]
                arr[j + 1] = temp    
            }
        }
    }
    return arr
}

插入排序

function InsertSort(arr) {
    let newArr = []
    newArr.push(arr[0])
    for (let i = 1; i < arr.length; i++) {
        for(let j = newArr.length - 1; j >= 0; j--){
            if (arr[i] > newArr[j]) {
                newArr.splice(j + 1,0,arr[i])
                break
            }
            if (j === 0) {
                newArr.unshift(arr[i])
            }
        }
        
    }
    return newArr
}

快速排序

function QuickSort(arr) {
    if (arr.length <= 1) {
        return arr
    }
    var pointIndex = Math.floor(arr.length / 2)
    var pointValue = arr.splice(pointIndex, 1)[0]
    var leftArr = []
    var rightArr = []
    for(var i = 0; i <arr.length; i++){
        var cur = arr[i]
        cur > pointValue ? rightArr.push(cur) : leftArr.push(cur);
    }
    return QuickSort(leftArr).concat(pointValue, QuickSort(rightArr))
}

相关文章

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

  • 用 Python 实现十大经典排序算法

    今天,详细的跟大家分享下 10 种经典排序算法。 10种经典排序算法包括冒泡排序、选择排序、快速排序、归并排序、堆...

  • 序言-算法

    此文集将介绍一些经典的算法,从经典的排序算法开始不定期的补充纠错更新 1、经典排序算法 1.1桶排序Bucket ...

  • 算法学习(1)-排序算法

    八大排序算法九大排序算法再总结[经典排序算法][集锦][直观学习排序算法] 视觉直观感受若干常用排序算法 快速排序...

  • 十大经典排序算法&七大查找算法

    十大经典排序算法: 十大经典排序算法的时间、空间复杂度: 冒泡排序(Bubble Sort) 算法描述: 1、比较...

  • Algorithm -- 排序算法

    单链表十大经典排序算法冒泡排序选择排序插入排序归并排序快速排序堆排序计数排序桶排序 1. 十大经典排序算法 十大经...

  • 一文搞定十大经典排序算法(Java实现)

    本文总结十大经典排序算法及变形,并提供Java实现。参考文章:十大经典排序算法总结(Java语言实现)快速排序算法...

  • 2020-04-30-排序算法

    冒泡排序 直接选择排序 插入排序 快速排序 参考 算法学习笔记17-经典排序算法八大排序算法稳定性分析

  • 2018-06-30

    排序算法之归并排序 归并排序算法是排序算法中的经典算法之一,其核心思想是利用归并的思想实现的排序方法,该算法采用经...

  • 排序算法

    经典排序算法 高级排序算法 计数排序 时间复杂度O(n)基数排序 先排序高位(位数多的), 再排序高位

网友评论

      本文标题:三大经典排序算法

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