zoukankan      html  css  js  c++  java
  • 两种排序的方法 冒泡法 插入法 封装版

      冒泡排序;封装版;逐个逐个比较,每一轮结束的时候都是最大的在后面,尽量减少循环次数

      bubbling()  方法  参数一:必填  需要排序的数组

      function bubbling(&$a){
        $num=count($a)-1;
        for($i=$num;$i>0;$i--){
          for($j=0;$j<$i;$j++){
            if($a[$j]>$a[$j+1]){
              $tmp=$a[$j];
              $a[$j]=$a[$j+1];
              $a[$j+1]=$tmp;
            }
          }
        }
      }
      bubbling($arr);

      JavaScript 的冒泡排序写法:  

      var arr = [1,20,15,90,52,13,16,42,68,25];
      function fn(arr){
        var cont = arr.length-1;
        var temp = null;
        for(var i=cont;i>0;i--){
          for(var j=0;j<i;j++){
            if(arr[j]>arr[j+1]){
              temp = arr[j];
              arr[j] = arr[j+1];
              arr[j+1] = temp;
            }
          }
        }
      }
      fn(arr);
      console.log(arr);

      插入排序:把第一个当最小的,比较后面的数

      insert()  方法         参数一:必填  需要排序的数组

      function insert(&$a){
        $num=count($a)-1;
        for($i=0;$i<$num;$i++){
          $temp=$a[$i];
          for($j=$i;$j<=$num;$j++){
            if($temp>$a[$j]){
              $temp=$a[$j];
              $a[$j]=$a[$i];
              $a[$i]=$temp;
            }
          }
        }
      }
      insert($arr);

       JavaScript 的 插入排序写法

      var arr = [1,20,15,90,52,13,16,42,106,35]; 
      function insert(arr){
        var num=arr.length-1;
        for(var i=0;i<num;i++){
          var temp=arr[i];
          for(var j=i;j<=num;j++){
            if(temp>arr[j]){
              temp=arr[j];
              arr[j]=arr[i];
              arr[i]=temp;
            }
          }
        }
      }
      insert(arr);
      console.log(arr);



  • 相关阅读:
    HDU3145 Max Sum of Max-K-sub-sequence (单调队列模板)
    AcWing1088 旅行问题(单调队列)
    POJ1821 Fence(单调队列)
    POJ1742 Coins(多重背包+二进制优化)
    AcWing217 绿豆蛙的归宿(期望)
    BZOJ.2134.[国家集训队]单选错位(概率 递推)
    洛谷.3805.[模板]manacher算法
    Codeforces.280C.Game on Tree(期望)
    BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)
    洛谷.4172.[WC2006]水管局长(LCT Kruskal)
  • 原文地址:https://www.cnblogs.com/shangjun6/p/10751023.html
Copyright © 2011-2022 走看看