// 冒泡排序原理: // 把第一项a和后一项b进行比较,如果a比b大,那么把第一项后移,第二项前移。 // 也就是把第一项变成b,把第二项变成a,依次循环,把每一项都执行一遍。 let arr = [1, 2, 4, 8, 5, 10, 9, 7, 6]; // 减1是为了最后一项不用再和后面的进行比较了,减去j也是不用对当前j进行循环 let isOk = true; for (let j = 0; j < arr.length -1; j ++) { for (let i = 0; i < arr.length - 1 - j; i ++) { let a = arr[i]; let b = arr[i + 1]; if (a > b) { arr[i] = b; arr[i + 1] = a; isOk = false; } if (isOk) { // 如果已经排好,就不继续循环排序 break; } } }