冒泡排序的简单理解

之前第一次接触到冒泡排序的时候似懂非懂,今天又看了一遍之前的笔记,感觉认识加深了一点。为了防止遗忘,自己再写一遍吧。

随便写一个数组,最终通过冒泡排序让其中的数字从小到大排列。

var arr = [123,32,5432,12342,12,231,231,1,0,-1];
for (var i=0; i<arr.length-1; i++) {
    for(var j=0; j<arr.length-1-i; j++) {
       if(arr[j]>arr[j+1]) {
           var temp = arr[j+1];
           arr[j+1] = arr[j];
           arr[j] = temp;
       }
    }
}
console.log(arr);

以上代码为js代码。

冒泡排序简单来说就是让前面的数字依次与后面的数字比较大小,每次比较得出的最大数放置到一边,比较完一个继续比较下一个。

上述代码中,因为数字不需要与自身比较,所以循环次数是数组长度值-1。

之所以用两层for循环,是因为一层遍历并不足以将所有的数字比较一遍,所以需要在此之内再放一层循环,使得第一层比较后,在其中再比较内层数字。


自己的表达确实太烂,看着理解,至少代码部分是正确的,orz...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值