js冒泡法详细解析

学了怎么久的JS终于我把冒泡法搞明白了,以前一直用不到,苦笑,苦笑

冒泡法:通过每一次的比较来提取出一个最大或最小的值;
        例如:
        12,343,232,12,43,2,32(刚开始)
        12,232,12,43,2,32,343(第一次)
        ...
        ...
        知道原理我们要明白每一次出来一个数,那么一共要出Array.length(数值长度)-1,因为最后一次就两个都出来了,把提取次数设置为i;
        然后没一次都要发生什么事,他们是怎么比较的能?
        每一次两两比较数值大的取代数值小的的数组中的位置,与下一个位置的进行比较,所以没一次比较Array.length(数值长度)-1-i(已经出来的最大或最小的数),把比较次数设置为J;
        故函数为
        var Array = [12,343,232,12,43,2,32]
        function maopao(){
            for(var i =0 ; i<Array.length-1 ; i++){   //提取次数
                for(var j=0 ; j<Array.length-1-i ;j++){  //每次提取时的比较次数
                    if(Array[j]>Array[j+1]){       //当前面的数大于后面的数下面的方法进行调换
                        Anumber = Array[j+1];
                        Array[j+1] = Array[j];
                        Array[j] = Anumber;
                    }
                }
            }
            console.log(Array);
            //0: 2,1: 12,2: 12,3: 32,4: 43,5: 232,6: 343
        }
        maopao();
        总结:为什么要这样做,我要一串数值中的顺序排列,那就一个一个把最大的找出来,怎么找俩俩比较,大的键小单数值打的取代键大但数值小的,在进行下一次的比较这样就可以找到一串数值中的最大的值;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值