JavaScript冒泡排序

 

      - 所谓冒泡指的就是事件的向上传导,当后代元素上的事件被触发时,其祖先元素的相同事件也会被触发

      - 在开发中大部分情况冒泡都是有用的,如果不希望冒泡发生可以通过事件对象取消冒泡 event.cancelBubble=true

 

       首先创建一个函数专门用作冒泡排序使用,函数接收一个叁数,也就是我们的数组

        现在我们需要创建一个变量作为临时储存数据的地方,因为我们等下需要进行变量的对调,还要需要遍历,因此我们需要创建一个for循环,因为它们需要两两对比;

         首先要创建一个外围的for循环来确定整个循环的次数,也就是遍历多少轮,而且这个外围的for循环最重要的作用就是使下一轮不会重复对比最后一个元素,因为每一轮下来最后一个元素都是最大的数,还有一点长度需要减去1。

         比如这里数组长度为6,正常来说就是遍历0到5次,都是外循环不作为指针使用,因此我们只需要遍历0到4次就行了,最后一个元素就不需要遍历了;

       现在我们需要创建一个内部的for循环了,也就是嵌套循环了,这个内部的循环就需要自己担任两个指针的角色,而且长度需要减去i,也就是说i循环遍历0到4次,j循环分别遍历0到4次,0到3次,0到2次和0到1次,随着每一轮下来,我们都需要不断缩小目标,不必要再去对比最后那个数了,这就是减去i的作用了,

       现在就可以写条件语句了,因为我们内部循环兼顾两个指针的角色因此可以利用+1来进行对比,而且因为我们前面已经设置了长度-1缘故,不用担心对比最后会超出数组范围。

       还有要记得得返回数组,因为这里创建的是函数,最后结果图如下:

     还有比如由几个div组成的冒泡结果,

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值