数组经典排序算法之冒泡排序

80 阅读1分钟

冒泡排序就是、从数组最开始位置依次与右边的元素比较,左边比右边大则交换位置,否则将指针指向大的数继续与此时的数右边的数进行比较,以此类推

注意:每经过一轮位置交换,最大的数已经在最后面,可以不用比较,依次减少比较次数

20201128102410826.gif


const effervescence = (arr)=> {

    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]] // 交换位置

        }

    }



}

effervescence(array)
console.log(array) //[ 1, 2, 4, 25, 33 ]