冒泡排序

<script>
        // 创建数组
        var str = [2, 4, 3, 5, 1, 7, 6];
        /*
            冒泡排序:实现让数组里的值从大到小或从小到大排列(冒泡排序也是一种算法)
            代码实现:
                1.因数组中的元素存在不确定性(前后值大小不同)
                2.用双重for循环实现 上面数组里的值的 排列
                3.外部循环实现:(外层循环)因str里的第一个值要和后面的值进行比较。i从0开始,i小于str里是数组长度减1(为什么要减1:循环的次数等于数组总长度减一,{可以不减1,只是会多循环一次})i++
                4.里层循环实现:因为每个值与后面的值比较的次数都不一样,str.length-i-1,这里的 i 是下标(可以不减一,只是会多循环一次)i++
                5.if判断:如果str[j]大于str[j+1](j+1:j=0表示从str里的第一个值开始,j+1是第二个值)
                6.交换值:声明一个空变量,让它等于str里的第一个值,在让str里的第一个值等于str里的第二个值,再让str里的第二个值等于空变量(相互交换)   最后输出str 
                7.这里求的是从小到大  想要从大到小只需要把 if判断里的 大于号 改为 小于号即可  不管以后在原数组中添加多少,多大的数值都可以进行排列
        */	
        for (var i = 0; i < str.length - 1; i++) {
            for (var j = 0; j <= str.length - i - 1; j++) {
                if (str[j] > str[j + 1]) {
                    var sun = str[j];
                    str[j] = str[j + 1];
                    str[j + 1] = sun;
                }
            }
        }
        console.log(str);
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值