冒泡排序 看这一篇就够啦
首先我们要知道,不管是冒泡排序 还是选择排序都是要找到他们的规律,
其实他们就是一种排序算法
话不多说直接上代码,代码后边每一步都有注释,大家可以看着理解。
我会在代码下面放张图片 里边有每一步执行输出后的结果和分析,大家可以看看自己找找规律。
var arr [2, 1, 3, 4, 5, 8, 0, 6, 7] //先定义一个无序数组
for(var i = 0; i = arr.length - 1; i++){ /* 外层循环管的是躺数,也就是总共要
循环几趟, 躺数规律就是 数组的长度 - 1 这个是规律 冒泡排序的规律就是这
记住就好,下main有图片可以自己分析分析 */
for(var i = 0; i = arr.length - i - 1;i++){ /* 里边循环管的是每一趟需要
交换的次数,规律是自身长度 - i - 1 i在这里就是当前循环到的位置 */
if(arr[j] > arr[ j + 1 ]){ /* 也就是拿数组里面的第一个元素跟第二个元素
//比较 如果第一个大则调换,这里是重小到大排的,反之用 < 重大到校 */
var temp = arr[j] // 下面要调换 这里一定要声明!!!
arr[j] = arr[j + 1] // 把arr[j + 1]的值调换给arr[j] 就是调换
arr[j + 1] = temp
}
}
}
console.log(arr)
输出的结果为: [0,1,2,3,4,5,6,7,8]
我放一张图片 有每一趟输出的结果,大家可以看一下自己分析分析其中的规律