将下列数组用冒泡法进行排序
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);
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务