核心思想:
1、外层for循环控制比较的轮数
2、内层for循环控制每轮比较的次数
3、外层每进行一轮比较,内层就少一次比较,因为外层每进行一轮比较都会产生一个最大值
<script> var arr = [1, 2, 3, 4, 5, 6, 7]; var temp = 0; var n = 0; var y = 0; for (var i = 0; i < arr.length - 1; i++) { var bool = true; for (var j = 0; j < arr.length - 1 - i; j++) { if (arr[j] < arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; bool = false; n++; } } y++; if (bool) { break; } } console.log(n + "====" + y);//21====6 console.log(arr);//[7, 6, 5, 4, 3, 2, 1] </script>