JavaScript Switch 冒泡排序

算法详解

以从小到大排序为例,冒泡排序法的思路是:

遍历原始数据,从第一个数开始,到倒数第二个数结束,比较这个数和下一个数的大小,如果这个数比下一个数大,则交换这两个数。

这样便可以将数据中最大的数转移到数组的最后。之后再次遍历原始数据,但是变为从第一个数开始,到倒数第三个数结束,比较这个数和下一个数的大小,如果这个数比下一个数大,则交换这两个数。这样便可以将第二大的数转移到数组的倒数第二位。

重复执行上述过程,一直到从第一个数开始,到第二个数结束,从而完成了排序过程。

由于这个循环过程就像泡泡上浮的过程,所以被称为冒泡排序法。

代码:

    <script type="text/javascript">

        var iop = [10,6,7,1,2,5];



        function bubbleSort (oiop) 

        {

            var max = iop.length - 1;

            for (var j = 0; j < max; j++) {

                // 声明一个变量,作为标志位

                var po = true;

                for (var i = 0; i < max - j; i++) 

                {

                    if (iop[i] > iop[i + 1])

                    {

                        var temp = iop[i];

                        iop[i] = iop[i + 1];

                        iop[i + 1] = temp;

                        po = false;

                    }

                }

                if (po) 

                {

                    break;

                }

            }

            return iop;

        }



            bubbleSort(iop);

            console.log(iop);//打印



    </script>

冒泡排序总结

  1. 外层 for 循环控制循环次数
  2. 内层 for 循环进行两数交换,找每次的最大数,排到最后
  3. 设置一个标志位,减少不必要的循环

这是我所学到的,所以我要分享给你们,希望可以帮助到你们。

以上就是我的分享,新手上道,请多多指教大神勿喷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值