<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    七大常用PHP算法

    時間:2025-04-14 10:07:54 php語言 我要投稿
    • 相關推薦

    七大常用PHP算法

      php是一種通用開源腳本語言。在php算法里有哪些常用的算法呢?下面小編為大家整理了七大常用PHP算法,希望能幫到大家!

      1、冒泡排序

      2、歸并排序

      3、二分查找-遞歸

      4、二分查找-非遞歸

      5、快速排序

      6、選擇排序

      7、插入排序

      下面一一示例介紹

      1、冒泡排序

      function bubble_sort($arr) {

      $n=count($arr);

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

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

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

      $temp=$arr[$i];

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

      $arr[$j]=$temp;

      }

      }

      }

      return $arr;

      }

      2、歸并排序

      function Merge(&$arr, $left, $mid,$right) {

      $i = $left;

      $j = $mid + 1;

      $k = 0;

      $temp = array();

      while ($i <= $mid && $j <= $right)

      {

      if ($arr[$i] <= $arr[$j])

      $temp[$k++] = $arr[$i++];

      else

      $temp[$k++] = $arr[$j++];

      }

      while ($i <= $mid)

      $temp[$k++] = $arr[$i++];

      while ($j <= $right)

      $temp[$k++] = $arr[$j++];

      for ($i = $left, $j = 0; $i <= $right; $i++, $j++)

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

      }

      function MergeSort(&$arr, $left, $right)

      {

      if ($left < $right)

      {

      $mid = floor(($left + $right) / 2);

      MergeSort($arr, $left, $mid);

      MergeSort($arr, $mid + 1, $right);

      Merge($arr, $left, $mid, $right);

      }

      }

      3、二分查找-遞歸

      functionbin_search($arr,$low,$high,$value) {

      if($low>$high)

      return false;

      else {

      $mid=floor(($low+$high)/2);

      if($value==$arr[$mid])

      return $mid;

      elseif($value<$arr[$mid])

      returnbin_search($arr,$low,$mid-1,$value);

      else

      returnbin_search($arr,$mid+1,$high,$value);

      }

      }

      4、二分查找-非遞歸

      functionbin_search($arr,$low,$high,$value) {

      while($low<=$high) {

      $mid=floor(($low+$high)/2);

      if($value==$arr[$mid])

      return $mid;

      elseif($value<$arr[$mid])

      $high=$mid-1;

      else

      $low=$mid+1;

      }

      return false;

      }

      5、快速排序

      function quick_sort($arr) {

      $n=count($arr);

      if($n<=1)

      return $arr;

      $key=$arr[0];

      $left_arr=array();

      $right_arr=array();

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

      if($arr[$i]<=$key)

      $left_arr[]=$arr[$i];

      else

      $right_arr[]=$arr[$i];

      }

      $left_arr=quick_sort($left_arr);

      $right_arr=quick_sort($right_arr);

      return array_merge($left_arr,array($key),$right_arr);

      }

      6、選擇排序

      function select_sort($arr) {

      $n=count($arr);

      for($i=0;$i<$n;$i++) {

      $k=$i;

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

      if($arr[$j]<$arr[$k])

      $k=$j;

      }

      if($k!=$i) {

      $temp=$arr[$i];

      $arr[$i]=$arr[$k];

      $arr[$k]=$temp;

      }

      }

      return $arr;

      }

      7、插入排序

      function Sort($arr) {

      $n=count($arr);

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

      $tmp=$arr[$i];

      $j=$i-1;

      while($arr[$j]>$tmp) {

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

      $arr[$j]=$tmp;

      $j--;

      if($j<0)

      break;

      }

      }

      return $arr;

      }

    【七大常用PHP算法】相關文章:

    PHP紅包算法11-04

    php經典算法介紹10-05

    PHP經典算法題09-05

    PHP幾個經典算法題10-27

    PHP的樹形結構算法07-06

    PHP 快速排序算法解析06-11

    PHP快速排序算法詳解08-30

    PHP排序算法類講解07-18

    PHP可逆加密解密算法07-22

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人