欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

用 Javascript 实现简单的冒泡排序、插入排序 - 代码实现

最编程 2024-06-16 19:42:02
...
function insertionSort (arr) {
    let list = [...arr]
    let len = list.length
    for (i=1; i<len; i++) { // 取数组第二位进行插入比较
        for (j=i; j>0; j--) { // 从数组第二位开始,逐一跟前一位比较
            if (list[j] < list[j-1]) { // 当前一位大于后一位,将调换位置,继续往前比较
                exchange(list, j, j-1)
            } else { // 当前一位小于后一位就停止本次的比较,进行下一位数的插入比较
                break
            }
        }
    }
    return list
}

插入排序,过程就很像玩扑克牌的摆牌动作,抽出一张牌(算法是抽出第二张开始比较),往左依次比较,如果比目标小的就插入其左边,直至排序完毕

结果测试

let arr = [2, 4, 6, 1, 9, 10, 20, 7, 9, 8]

console.log('要排序的数组:' + arr) // 要排序的数组:2,4,6,1,9,10,20,7,9,8

console.log('冒泡排序结果:' + bubbleSort(arr)) // 冒泡排序结果:1,2,4,6,7,8,9,9,10,20

console.log('插入排序结果:' + insertionSort(arr)) // 插入排序结果:1,2,4,6,7,8,9,9,10,20

参考

冒泡排序参考:https://www.runoob.com/w3cnote/bubble-sort.html

插入排序参考:https://www.runoob.com/w3cnote/insertion-sort.html

推荐阅读