思路:所谓冒泡就是挨个排序,如果按照当前位置和下一次位置比较,这样在一次完整的遍历之后,就会有一个最大或最小值移动到某一个极端位置。
每次遍历,会有一个最大值冒泡到最右端,外层循环
arr.length-1
次,就可以完成排序,为什么要减一,最后一个数也就是数组的第一个数不需要排,当其他位置都排好后,它也就自动排好了.
给出JS代码
for (let i=0;i<arr.length-1;i++) { // 外层遍历次数
for (let j=0;j<arr.length-1-i;j++) { // 每次遍历都会有一个排好,所以减去当前循环次数(-i)
if (arr[j]>arr[j+1]) { //当前数和下一个数比较
let temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
}