• 两种排序的方法 冒泡法 插入法 封装版


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

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



  • 相关阅读:
    SDNU 1219.sign up problem
    SDNU 1232.A*B Problem(高精度)
    Go操作MySQL
    BootStrap jQuery 在线cdn
    Go语言标准库之http/template
    Go语言基础之net/http
    Go语言基础之网络编程
    Go语言基础之单元测试
    Go语言基础之rand(随机数)包
    Go语言基础之并发
  • 原文地址:https://www.cnblogs.com/shangjun6/p/10751023.html
Copyright © 2020-2023  润新知