php是一种通用开源脚本语言。在php算法里有哪些常用的算法呢?下面小编为大家整理了七大常用PHP算法,希望能帮到大家!1、冒泡排序2、归并排序3、二分查找-递归4、二分查找-非递下面是小编为大家整理的七大常用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算法 七大常用PHP算法 七大常用PHP算法 七大常用php算法有哪些 七大常用php算法是什么
【七大常用PHP算法(完整)】相关文章: