• JS中的排序算法(-)冒泡排序


    冒泡排序算法

    例子:10,8,9,6,4,20,5

    第一轮  1)10>8  交换数据 得到:8,10,9,6,4,20,5

                 2)10>9  交换数据 得到:8,9,10,6,4,20,5

                 3)10>6  交换数据 得到:8,9,6,10,4,20,5

                 4)10>4  交换数据 得到:8,9,6,4,10,20,5

                 5)10<20  不交换数据 得到:8,9,6,4,10,20,5

                 6)20>5  交换数据 得到:8,9,10,6,4,5,20

    结果:8,9,10,6,4,5,20

    第二轮  1)8<9  不交换数据 得到:8,9,10,6,4,5,20

                 2)9<10  不交换数据 得到:8,9,10,6,4,5,20

                 3)10>6  交换数据 得到:8,9,6,10,4,5,20

                 4)10>4  交换数据 得到:8,9,6,4,10,5,20

                 5)10>5  交换数据 得到:8,9,6,4,5,10,20

    结果:8,9,6,4,5,10,20

    第三轮  1)8<9  不交换数据 得到:8,9,6,4,5,10,20

                 2)9>6  交换数据 得到:8,6,9,4,5,10,20

                 3)9>4  交换数据 得到:8,6,4,9,5,10,20

                 4)9>5  交换数据 得到:8,6,4,5,9,10,20

     结果:8,6,4,5,9,10,20

    第四轮  1)8>6  交换数据 得到:6,8,4,5,9,10,20

                 2)8>4  交换数据 得到:6,4,8,5,9,10,20

                 3)8>5  交换数据 得到:6,4,5,8,9,10,20

      结果:6,4,5,8,9,10,20

    第五轮  1)6>4  交换数据 得到:4,6,5,8,9,10,20

                 2)6>5 交换数据 得到:4,5,6,8,9,10,20

        结果:4,5,6,8,9,10,20

    第六轮  1)4<5  不交换数据 得到:4,5,6,8,9,10,20

    分析一下得出JS冒泡排序算法如下

    function aa(data){
      var i=0;
      while(i<data.length-1){
        for(var j=0;j<data.length-i-1;j++){
          if(data[j]>data[j+1]){
            var x=data[j];
            data[j]=data[j+1];
            data[j+1]=x;
          }
        }
        i++;
      }
    }
      var data=[10,8,9,6,4,20,5];
      console.log('before:'+data);
      aa(data);
      console.log('after:'+data);
       

  • 相关阅读:
    List<T>直接充当Combox控件DataSource并扩展自定义记录的方法
    List转Datatable 新方法
    CDM中,实体与实体快捷方式之间的联系不能重复,否则会造成外键重复
    PD中设置外键约束名称生成规则
    查询当前数据库用户会话信息
    Word中调整编号和文字的间距
    PDM/CDM中进行搜索
    PDM后续处理-驼峰规则、清除约束、外键改名
    列举当前用户或指定用户的所有表,所有字段,以及所有约束
    PDM中列举所有含取值范围、正则表达式约束的字段
  • 原文地址:https://www.cnblogs.com/xiaoyingbianbianbian/p/7177326.html
Copyright © 2020-2023  润新知