冒泡排序就是、从数组最开始位置依次与右边的元素比较,左边比右边大则交换位置,否则将指针指向大的数继续与此时的数右边的数进行比较,以此类推
注意:每经过一轮位置交换,最大的数已经在最后面,可以不用比较,依次减少比较次数
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 ]