zoukankan      html  css  js  c++  java
  • 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);
       

  • 相关阅读:
    Android studio 搭建测试环境 创建虚拟机
    Halcon算子翻译——break
    Halcon算子翻译——throw
    halcon算子翻译——stop
    halcon算子翻译——return
    halcon算子翻译——par_join
    Halcon算子翻译——import
    Halcon算子翻译——global
    Halcon算子翻译——export_def
    Halcon算子翻译——exit
  • 原文地址:https://www.cnblogs.com/xiaoyingbianbianbian/p/7177326.html
Copyright © 2011-2022 走看看