分享

php四种排序算法代码

 xf_baby 2014-02-21
分享php排序的四种算法与代码。

 

冒泡:
function bubble_sort($arr){ 
$num = count($arr); 
for($i=0;$i<$num;$i++){ 
for($j=$num-1;$j>$i;$j--){ 
if($arr[$j-1]>$arr[$j]){ 
$tmp = $arr[$j]; 
$arr[$j] = $arr[$j-1]; 
$arr[$j-1] = $tmp; 



return $arr; 
}

选择:
function select_sort($arr){ 
for($i=0;$i<count($arr)-1;$i++){ 
for($j=$i+1;$j<count($arr);$j++){ 
if($arr[$i]>$arr[$j]){ 
$tmp = $arr[$i]; 
$arr[$i] = $arr[$j]; 
$arr[$j] = $tmp; 



return $arr; 

插入:
function insert_sort($arr){ 
$num = count($arr); 
for($i=1;$i<$num;$i++){ 
$tmp = $arr[$i]; 
$j = $i-1; 
while($arr[$j]>$tmp){ 
$arr[$j+1]=$arr[$j]; 
$arr[$j]=$tmp; 
$j--; 


return $arr; 
}

快速:
function quick_sort($arr){ 
if (count($arr) <= 1) return $arr; 
$arr_left = array(); 
$arr_right = array(); 
$key = $arr[0]; 
for($i=1;$i<count($arr);$i++){ 
if($key>$arr[$i]){ 
$arr_left[] = $arr[$i]; 
}else{ 
$arr_right[] = $arr[$i]; 


$arr_left = quick_sort($arr_left); 
$arr_right = quick_sort($arr_right); 
$arr = array_merge($arr_left,array($key),$arr_right); 
return $arr; 
}

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多