<script> var num = [23,45,12,46,89,34]; var temp = 0; for (var i=0;i<num.length-1;i++){ for (var j=0;j<num.length-1-i;j++){ if (num[j]>num[j+1]){ temp = num[j]; num[j] = num[j+1]; num[j+1] = temp; } } } console.log(num); </script>
思路:
5 4 3 2 1
第1轮: 4 3 2 1 5 比较了4次,每轮比较的次数num.lenth-1-0
第2轮: 3 2 1 4 5 比较了3次,每轮比较的次数num.lenth-1-1
第3轮: 2 1 3 4 5 比较了2次,每轮比较的次数num.lenth-1-2
第4轮: 1 2 3 4 5 比较了1次,每轮比较的次数num.lenth-1-3
i个数字比较i-1轮; // 循环控制比较的次数
第j轮比较的次数:num.length-1-i //控制每轮的比较次数