本篇文章给大家介绍一下php实现常见的排序的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
$arr = [4,5,3,2,1,9,8,6,7];
冒泡排序
function maopao($arr) { $len = count($arr); for ($i=1; $i <$len ; $i++) { # code... for ($k=0; $k <($len-$i) ; $k++) { # code... if ($arr[$k]>$arr[$k+1]) { # code... $v_k = $arr[$k]; $arr[$k]=$arr[$k+1]; $arr[$k+1]=$v_k; } } } return $arr; }
快速排序
function kuaisu($arr) { $len = count($arr); if ($len<=1) { # code... return $arr; } //选择基准元素 $a = $arr[0]; $left = $right = []; //循环 for ($i=1; $i < $len; $i++) { # code... if ($arr[$i]<$a) { # code... $left[]=$arr[$i]; }else{ $right[]=$arr[$i]; } } $left = kuaisu($left); $right = kuaisu($right); return array_merge($left,[$a],$right); }
插入排序
function insertSort($arr) { $len = count($arr); for ($i=1; $i < $len; $i++) { # code... $tmp = $arr[$i]; for ($j=$i-1; $j >=0 ; $j--) { # code... if ($tmp<$arr[$j]) { # code... $arr[$j+1]=$arr[$j]; $arr[$j]=$tmp; }else{ break; } } } return $arr; }
选择排序
function selectSort($arr) { $len = count($arr); for ($i=0; $i < $len; $i++) { # code... $p=$i; for ($j=$i+1; $j < $len; $j++) { # code... if ($arr[$p]>$arr[$j]) { # code... $p=$j; } } $tmp = $arr[$p]; $arr[$p]=$arr[$i]; $arr[$i]=$tmp; } return $arr; }
推荐学习:php视频教程
以上是php如何实现常见的排序的详细内容。更多信息请关注PHP中文网其他相关文章!