冒泡算法学习
const arr = [1,5,7,1,2,6,0];
// 为什么for循环这里要减 1?取length不是刚好可以遍历完所有的元素吗?
// 别着急 往下看.
for (let i = 0; i< arr.length - 1; i++) {// 外层控制循环的次数
// 为什么这里要减 1 又减 i?
for(let j = 0; j < arr.length - 1 - i; j++) {// 内层控制循环的个数;减i 是因为arr.length-1-i后的元素已经被排过序。
if (arr[j] > arr[j+1]) {//这里使用了j+1;如果长度没有减1就会取到undefined
let temp = arr[j];// 这三行就很简单了,交换一下arr[j] 与arr[j+1]的元素值。
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}