两两相比较,把大的的数放在后面
将下列数组用冒泡法进行排序
arr = [2, 5, 9, 2, 4, 6, 3]
需要用到嵌套循环
外循环的长度为arr.length - 1,需要走arr.length - 1趟
第一趟将最大的数放到最后面
第二趟将第二大数排好
以此类推
内循环交换次数为arr.length - i - 1(i从0开始)
交换规律
第一趟交换6次
第二趟交换5次
以此类推
代码实现
let array = [2, 5, 9, 2, 4, 6, 3]
for (let i = 0; i < array.length - 1; i++) {
for (let j = 0; j < array.length - i - 1; j++) {
// 开始交换 前提是第一个数大于第二个数才交换
// 如果将>改成<则是倒序排列
if (array[j] > array[j + 1]) {
let temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
console.log(array);