<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看