以下是个人对冒泡排序算法的一些总结与感悟,
原理:
从数组中第一位数和后一位相邻依次比较,并交换它们的位置,如此反复的交换位置就可以得到排序的效果。
代码如下
var arr=[1,8,5,4,0];
var num=null;
for(var i =0;i<arr.length;i++){ //for循环嵌套规则,外循环执行一次,内循环执行一个循环
for (var j=0;j<arr.length-i;j++){
// console.log(i)// 5个0,4个1,3个2,2个3,1个4
// console.log(j)//0,1,2,3,4 ;0,1,2,3; 0,1,2; 0,1 ; 0
if(arr[j]>arr[j+1]){ //第一轮循环得出 1,5,4,0,8 //得出最大值,冒泡到最右边.第二轮循环依次得出第二大值,以此类推.
num=arr[j+1]
arr[j+1]=arr[j]
arr[j]=num
}
}
}
console.log(arr)
参考资料(for循环嵌套的理解):https://wenku.baidu.com/view/46101f680b1c59eef8c7b44c.html
参考资料(冒泡排序法): https://zhidao.baidu.com/question/485245563.html
冒泡排序-javascript
最新推荐文章于 2024-07-21 22:30:51 发布