這篇文章要為大家介紹一下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中文網其他相關文章!