排序算法

  1. 冒泡排序
    1. <?php

      $arr = [1,6,4,5,3];

      //冒泡排序

       function maoSort($arr){

      $len = count($arr);

      for ($i=0;$k<$len;$i++){

      for($j=$i+1;$j<$len;$j++){

      if($arr[$i]>$arr[$j]){

      $temp=$arr[$i];

      $arr[$i]=$arr[$j];

      $arr[$j] = $temp;

      }

      }

      }

      }

  2. 选择排序
    1. function selectSort($arr){

      $len = count($arr);

      for($i=0;$i<$len-1;$i++){

      $minVal=$arr[$i];

      $minKey = $i;

      for($j=$i+1;$j<$len;$j++){

      if($minVal>$arr[$j]){

      $minVal=$arr[$j];

      $minKey=$j;

      }

      }

      $temp = $arr[$i];
      $arr[$i] = $arr[$minKey];

      $arr[$minKey] = $temp;

      }

      return $arr;

      }

  3. 快速排序
    1. function quickSort($arr){

      if(count($arr)<=1){

      return $arr;

      }

      $middle = $arr[0];

      $left = array();
      $right = array();

      for($i=1;$i<count($arr);$i++){

      if($middle <$a[$i]){

      $right[] = $a[$i];

      }else{

      $left[] = $a[$i];

      }

      }

      $left = quickSort($left);

      $right = quickSort($right);

      return array_merge($left,array($middle),$right);

      }

  4. 插入排序
    1. function insertSort($arr){

      $len = count($len);

      for($i=1;$i<$len;$i++){

      $temp = $arr[$i];

      for($j=$i-1;$j>=0;$j--){

      if($temp<$arr[$j]){

      $arr[$j+1] = $arr[$j];

      $arr[$j] = $temp;

      }else{

      break;

      }

      }

      }

      return $arr;

      }

原文地址:https://www.cnblogs.com/gaoqing502/p/12956212.html