js双循环 冒泡排序详细注释

js双循环 冒泡排序 详解

<html>

<head>
  <title> new document </title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <script type="text/javascript">
    var num = [5, 12, 6, 16, 3, 15, 34, 19];// 一个数组
    var za = "";// 声明一个空变量
    for (var i = 0; i < num.length; i++) {//  第一层循环
      for (var j = i; j < num.length; j++) {  // 第二层循环 
        if (num[i] > num[j]) {// 第一层循环走一步  内层循环走一圈;这里把第一层的第一个值等于0 给num 等于说num拿到第一个值等于5 内层走一圈(j 从下标0 走到7 取值从0取到下标7) 5和数组内所有的值作比较
          za = num[i]; // za这个变量是做中转的。当i=0的时候,j=0, (num[i] > num[j])为false。不执行。j++ ,j < num.length 为true;J一直+到4 值等于3的时候 进入if条件执行语句:把i=0时 取到的是5这个值 给空变量, 
          num[i] = num[j];// 把数组中的3赋值给了num[i] , 等于说这时候 i等于0 下标是第一个  取到的值是5  5在数组中的这个位置 被3修改了。这时候3已经排在数组的第一个位置了
          num[j] = za;// j下标这时为4 他们就交换了位置; 然后 外层循环i=1  i取到的值是12 ,内层循环j下标拿到的第一个是12本身  第一个不进入if条件 然后符合条件再执行交换位置的操作,直到把最大的一个值交换到最后的位置 循环条件为false停止
          //比较大小更换前一个值在数组中的位置
        }
      }
    }
    console.log(num)
  </script>
</head>

<body>
</body>

</html>

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值