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);



  • 相关阅读:
    图解AVL树
    浅析Java7中的ConcurrentHashMap
    浅析CopyOnWriteArrayList
    浅析CAS与AtomicInteger原子类
    IDEA左侧不以树形结构展示项目结构
    maven常见问题
    Mybatis实现多表联合查询
    Mybatis实现单表增删改查操作
    解决mybaits配置错误:Cause: org.xml.sax.SAXParseException; lineNumber: 17; columnNumber: 119; 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾。
    Deepin_运维实践系列博客导航
  • 原文地址:https://www.cnblogs.com/shangjun6/p/10751023.html
Copyright © 2011-2022 走看看