实现原理
数组中有
n
个数,比较每相邻两个数,如果前者大于后者,就把两个数交换位置;这样一来,第一轮就可以选出一个最大的数放在最后面;那么经过n-1
(数组的 length - 1) 轮,就完成了所有数的排序。
首先找到最大值 放最后,然后这样重复 arr.length - 1
次,便可以实现数组按从小到大的顺序排好了。为啥是arr.length - 1
次 因为最后一个值 已经在 n - 1
比较过了。
// 遍历数组,次数就是arr.length - 1
for (var i = 0; i < arr.length - 1; i++) {
// 如果前一个数 大于 后一个数 就交换两数位置
if (arr[i] > arr[i + 1]) {
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
console.log(arr) // [3, 1, 2, 4]
const arrLength = arr.length;
for (let j = 0; j < arrLength-1; j++) {
for (let i = 0; i < arrLength - 1 - j; i++) {
if (arr[i] > arr[i + 1]) {
let tem = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tem;
}
}
}
return arr
}