zoukankan      html  css  js  c++  java
  • 冒泡排序的PHP实现 Bubble Sort

    冒泡排序Bubble Sort的PHP实现。代码中函数说明:

    • out_arr,用于将数组输出成一个字符串,以便查看
    • bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的
    • bubblesort2,第二种方案,从前往后一次选中需要的值,这里是最小的
    • range,产生一个1到20的数组
    • shuffle,打乱数组
      01
      function out_arr($arr) {
      02
          return implode(', ', $arr).'
      03
      ';
      04
      }
      05
       
      06
      function bubblesort($arr) {
      07
          for ($i = 0; $i < count($arr) - 1; $i++ ) {
      08
              for($j = 0; $j < count($arr) - $i - 1; $j++ ) {
      09
                  if( $arr[$j] > $arr[$j+1] ) {
      10
                      $tmp = $arr[$j];
      11
                      $arr[$j] = $arr[$j + 1];
      12
                      $arr[$j + 1] = $tmp;
      13
                  }
      14
              }
      15
              echo sprintf('%3d', $i).' : '.out_arr($arr);
      16
          }
      17
      }
      18
       
      19
       
      20
      function bubblesort2($array) {
      21
          $count = count($array);
      22
          for($i=0; $i<$count; $i++) {
      23
              for($j=$count-1; $j>$i; $j--) {
      24
                  if ($array[$j] < $array[$j-1]) {
      25
                      $tmp = $array[$j];
      26
                      $array[$j] = $array[$j-1];
      27
                      $array[$j-1] = $tmp;
      28
                  }
      29
              }
      30
              echo sprintf('%3d', $i).' : '.out_arr($array);
      31
          }
      32
          return $array;
      33
      }
      34
      echo '<pre>';
      35
      $arr = range(1, 20);
      36
      shuffle($arr);
      37
      echo 'ORG : '.out_arr($arr);
      38
      bubblesort2($arr);
      39
      echo '</pre>';
      

        

    冒泡排序Bubble Sort的PHP实现。代码中函数说明:

    • out_arr,用于将数组输出成一个字符串,以便查看
    • bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的
    • bubblesort2,第二种方案,从前往后一次选中需要的值,这里是最小的
    • range,产生一个1到20的数组
    • shuffle,打乱数组
    01 function out_arr($arr) {
    02     return implode(', '$arr).'
    03 ';
    04 }
    05  
    06 function bubblesort($arr) {
    07     for ($i = 0; $i count($arr) - 1; $i++ ) {
    08         for($j = 0; $j count($arr) - $i - 1; $j++ ) {
    09             if$arr[$j] > $arr[$j+1] ) {
    10                 $tmp $arr[$j];
    11                 $arr[$j] = $arr[$j + 1];
    12                 $arr[$j + 1] = $tmp;
    13             }
    14         }
    15         echo sprintf('%3d'$i).' : '.out_arr($arr);
    16     }
    17 }
    18  
    19  
    20 function bubblesort2($array) {
    21     $count count($array);
    22     for($i=0; $i<$count$i++) {
    23         for($j=$count-1; $j>$i$j--) {
    24             if ($array[$j] < $array[$j-1]) {
    25                 $tmp $array[$j];
    26                 $array[$j] = $array[$j-1];
    27                 $array[$j-1] = $tmp;
    28             }
    29         }
    30         echo sprintf('%3d'$i).' : '.out_arr($array);
    31     }
    32     return $array;
    33 }
    34 echo '<pre>';
    35 $arr = range(1, 20);
    36 shuffle($arr);
    37 echo 'ORG : '.out_arr($arr);
    38 bubblesort2($arr);
    39 echo '</pre>';
  • 相关阅读:
    Pivotal tc Server
    深入剖析jsonp跨域原理
    IE11 el-menu鼠标滑过报错:Error in v-on handler: "TypeError: 对象不支持此操作"
    细嚼JS闭包知识点及案例分析
    关于解决Chrome新版本中cookie跨域携带和samesite的问题处理 ——Ngnix篇
    解决vue本地环境跨域请求正常,版本打包后跨域代理不起作用,请求不到数据的方法——针对vue2.0
    element-ui 的 el-table 上使用无限滚动加载(与自带的 infinite-scroll 结合)——vue2.0
    vue+element-ui table实现滚动加载 ——vue2.0版本
    websocket(一)封装使用
    JS和jQuery将类数组对象转化成数组对象的几种方法
  • 原文地址:https://www.cnblogs.com/yyjie/p/7485087.html
Copyright © 2011-2022 走看看