JavaScript冒泡排序算法(枷锁程序)

冒泡排序的概述:通过遍历数列的方法,一次比较两个数,根据大小调换位置,从而达到升序的 效果。
步骤

  1. 定义一个含有多个元素的数组。
  2. 建立两个for循环,外循环用于遍历数组,内循环用于遍历数组中的元素。
  3. 内循环每一次都从数组的第一项开始,与下一项进行比较,在根据大小进行位置的调换。
  var arry = [1, 0, 5, 6, 9, 120, 7, 56, 3, 2];//定义数组
        var len = arry.length;  //计算数组的长度
        document.write('原始数据:' + arry, '<br>', '<br>');
        function sort(arry) {		//定义方法
            for (var i = 0; i < len - 1; i++) {		//外循环遍历整个数组(轮数)
                var bool = true;
                for (var j = 0; j < len - 1 - i; j++) {	//内循环用于遍历数组的元素(次数)
                //判断前后两个数的大小决定是否调换位置
                    if (arry[j] > arry[j + 1]) {	
                        var temp = arry[j];	//引入第三方元素进行位置的调换
                        arry[j] = arry[j + 1];
                        arry[j + 1] = temp;
                        bool = false;        
                    }
                    document.write('第' + (i + 1) + '轮' + '第 ' + (j + 1) + '次排序:' + arry, '<br>');//打印每一次的排序结果
                }
     /*   bool值为false则说明执行了调换位置的操作,如果为true
          则说明调换位置的操作未执行, 隐深含义是已经将数列由小到大的顺序排列
          好了,不需要再去遍历数组,不仅提高了代码的运行速度而且节省了内存空间。*/
                if (bool) {
                    break;
                }
                document.write('第' + (i + 1) + '轮排序:' + arry, '<br>');	//打印每一轮的排序结果
            }
            return arry;
        }
        document.write('最终排序:'+sort(arry));	//调用方法在页面输出最终排序结果。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值