加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 云服务器、云原生、边缘计算、云计算、混合云存储!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中比较常用的排序方法有哪些

发布时间:2023-07-06 10:03:33 所属栏目:PHP教程 来源:互联网
导读:   这篇文章主要讲解了“php中常用的排序方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中常用的排序
  这篇文章主要讲解了“php中常用的排序方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中常用的排序方法有哪些”吧!
 
  冒泡排序
 
  冒泡排序是PHP中最经典的排序算法之一。该算法通过遍历比较相邻两个元素的大小,然后不断地交换顺序完成排序。这种方法可以使用for循环或者while循环实现。
 
  <?php
 
  function bubble_sort($arr){
 
      $length = count($arr);
 
      for($i=0;$i<$length;$i++){
 
          for($j=$i+1;$j<$length;$j++){
 
              if($arr[$i]>$arr[$j]){
 
                  $tmp = $arr[$i];
 
                  $arr[$i] = $arr[$j];
 
                  $arr[$j] = $tmp;
 
              }
 
          }
 
      }
 
      return $arr;
 
  }
 
  快速排序
 
  快速排序是PHP中最快的排序算法之一。该算法使用递归方法将数组分成两部分,每次使用一个基准点元素将数组分割成较小的和较大的两个子数组。之后不断对子数组进行递归排序,最终得到排好序的数组。
 
  在PHP中实现快速排序有多种方法,比如递归方法和非递归方法。
 
  <?php
 
  function quick_sort($arr){
 
      $length = count($arr);
 
      if($length<=1){
 
          return $arr;
 
      }
 
      $left_array = array();
 
      $right_array = array();
 
      $middle = $arr[0];
 
      for($i=1;$i<$length;$i++){
 
          if($arr[$i]<$middle){
 
              $left_array[] = $arr[$i];
 
          }else{
 
              $right_array[] = $arr[$i];
 
          }
 
      }
 
      $left_array = quick_sort($left_array);
 
      $right_array = quick_sort($right_array);
 
      return array_merge($left_array, array($middle), $right_array);
 
  }
 
  选择排序
 
  选择排序是PHP中另一种比较经典的排序算法。该算法通过找到数组中最小元素并将其放置在数组的最前面,然后对其余的元素进行同样的操作。该算法的时间复杂度为O(n²)。
 
  <?php
 
  function select_sort($arr){
 
      $length = count($arr);
 
      for($i=0;$i<$length;$i++){
 
          $min = $i;
 
          for($j=$i+1;$j<$length;$j++){
 
              if($arr[$j]<$arr[$min]){
 
                  $min = $j;
 
              }
 
          }
 
          if($min!=$i){
 
              $tmp = $arr[$i];
 
              $arr[$i] = $arr[$min];
 
              $arr[$min] = $tmp;
 
          }
 
      }
 
      return $arr;
 
  }
 
  插入排序
 
  插入排序是PHP中另一种简单的排序算法。该算法通过比较当前元素和之前排好序的元素之间的大小以及其位置,然后将该元素插入到合适的位置。该算法的时间复杂度为O(n²)。
 
  <?php
 
  function insert_sort($arr){
 
      $length = count($arr);
 
      for($i=1;$i<$length;$i++){
 
          $tmp = $arr[$i];
 
          $j = $i-1;
 
          while($j>=0 && $arr[$j]>$tmp){
 
              $arr[$j+1] = $arr[$j];
 
              $j--;
 
          }
 
          $arr[$j+1] = $tmp;
 
      }
 
      return $arr;
 
  }
 

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章