冒泡排序的思想:
第一遍循环结束最大的数字放在 arr[5]的位置。当 i=0 , j< 5-0
a[0]——a[1] 2 ——4 比 不交换 2,4,76,8,5,7
a[1]——a[2] 4——76 比 不交换 2,4,76,8,5,7
a[2]——a[3] 76——8 比 交换 2,4,8,76,5,7
a[3]——a[4] 76——5 比 交换 2,4,8,5,76,7
a[4]——a[5] 76——7 比 交换 2,4,8,5,7,76
第2遍循环结束最大的数字放在 arr[4]的位置。当 i=1 , j< 5-1
a[0]——a[1] 2 ——4 比 不交换 2,4,8,5,7,76
a[1]——a[2] 4——76 比 不交换 2,4,8,5,7,76
a[2]——a[3] 8——5 比 交换 2,4,5,8,7,76
a[3]——a[4] 8——7 比 交换 2,4,5,7,8,76
第3遍循环结束最大的数字放在 arr[3]的位置。当 i=2 , j< 5-2
a[0]——a[1] 2 ——4 比 不交换 2,4,5,7,8,76
a[1]——a[2] 4——5 比 不交换 2,4,5,7,8,76
a[2]——a[3] 5——7 比 不交换 2,4,5,7,8,76
第4遍循环结束最大的数字放在 arr[2]的位置。当 i=3 , j< 5-3
a[0]——a[1] 2 ——4 比 不交换 2,4,5,7,8,76
a[1]——a[2] 4——5 比 不交换 2,4,5,7,8,76
第5遍循环结束最大的数字放在 arr[1]的位置。当 i=4 , j< 5-4
a[0]——a[1] 2 ——4 比 不交换 2,4,5,7,8,76
注意:当 j++ 时 , j=1 判断条件 1不大于1 所以跳出内层循环
当 i++ 时 ,i =5 判断条件 5 不大于5 所以跳出外层循环
循环结束,排序结束。
源码:
var arr = [2,4,76,8,5,7]
var box
for(var i= 0; i<arr.length ; i++){
for(var j=0; j < arr.length-i; j++){
if(arr[j]>arr[j+1]){
box = arr[j+1]
arr[j+1] = arr[j]
arr[j] = box
}
}
}
document.write(arr)
源码:
var arr = [2,4,76,8,5,7]
var box
for(var i= 0; i<arr.length ; i++){
for(var j=0; j < arr.length-i; j++){
if(arr[j]<arr[j+1]){
box = arr[j+1]
arr[j+1] = arr[j]
arr[j] = box
}
}
}
document.write(arr)