js 冒泡排序
排序前需要了解的知识点:如何交换两个变量的值?
交换变量位置案例
var a = 12,
b = 54;
//使用中间变量方式
var temp; //创建个中间变量temp
temp = a; //先将 a 的值给temp, 此时temp = 12
a = b; //再把 b 的值给到 a,此时 a = 54
b = temp; //最后把temp的值给 b,此时 b = 12
console.log(a) //查看结果
冒泡排序原理分析
1、两两进行比较,如果第一个比第二个大就交换他们位置
2、重复上面的步骤,一轮结束后,最后的那个数就是最大的数字或者最小的
3、比较的次数 = 数组的长度 - 1,天塌下来都是这个样子
4、需要两层的循环,外层的循环负责交换的次数,内层循环负责比较的次数
5、最后就是交换两个变量的位置了,我上面已经演示过了,不懂得可以看下
冒泡排序实例
// 开始冒泡排序
var arr = [25, 36, 12, 45, 62, 3, 1, 5]; //需要进行排序的数组
//外层循环负责交换的次数
for (var i = 0; i < arr.length - 1; i++) {
//内层循环负责比较的次数
for (var j = 0; j < arr.length - i - 1; j++) {
//开始比较
if (arr[j] < arr[j + 1]) {
//开始交换变量的位置
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp
}
}
}
console.log(arr);//循环结束后查看结果
本文来自博客园,作者:奔跑的前端猿,转载请注明原文链接:https://www.cnblogs.com/sxdpanda/p/14371883.html
如需了解更多文章,请移步:https://www.yuque.com/sxd_panda