# 经典排序算法-01-冒泡排序

function bubbleSort(arr) {
    if(!arr.length) return []
    if(arr.length === 1) return arr

    // 外层循环:未排序的元素个数
    // 最初为length-1
    // 下标值范围:[1 : length-1]
    for (let i = arr.length-1; i > 0; i--) {
        // 从开始比较到末尾(除了已经排序好的末尾元素)
        for (let j = 0; j < i; j++) {
            // 将大的值向后移动
            if(arr[j] > arr[j + 1]) {
                [arr[j], arr[j+1]] = [arr[j+1], arr[j]]
            }
        }
    }
    return arr
}

const nums = [3,5,9,7,4,2]
const ret = bubbleSort(nums)
console.log(ret)
Last Updated: 2019-12-2 17:46:54

~扫码关注<码路工人>了吗?~

~关注公众号可以第一时间获取最新文章~

~扫码关注可以联系交流~

WeChatQRCode