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



  • 相关阅读:
    Jupyter Notebook 编辑器美化
    Python3 与 C# 基础语法对比(List、Tuple、Dict、Set专栏)
    Ubuntu 18.04 安装微信(附企业微信)
    区块链概念
    Python3 与 C# 基础语法对比(String专栏)
    用Python3、NetCore、Shell分别开发一个Ubuntu版的定时提醒(附NetCore跨平台两种发布方式)
    ArchLinux 设置时间同步和硬件时间同步错误 No usable clock interface found
    ArchLinux dwm的安装和配置
    POJ-1182 食物链 并查集(互相关联的并查集写法)
    POJ-2236 Wireless Network 并查集
  • 原文地址:https://www.cnblogs.com/shangjun6/p/10751023.html
Copyright © 2011-2022 走看看