加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php基础排序算法

发布时间:2020-12-13 17:32:34 所属栏目:PHP教程 来源:网络整理
导读:1、冒泡排序 1 $arr = array (12,34,57,42,165.4,73,51 ); 2 3 function bubbling_sort( $array ) 4 { 5 $cou = count ( $array ); 6 if (! is_array ( $array )){ 7 die ; 8 } 9 for ( $i =0; $i $cou -1; $i ++ ){ 10 for ( $j = $i +1; $j $cou ; $j ++ )

1、冒泡排序

 1 $arr = array(12,34,57,42,165.4,73,51);
 2 
 3 function bubbling_sort($array)
 4 {
 5     $cou = count($array);
 6     if(!is_array($array)){
 7         die;
 8     }
 9     for($i=0;$i<$cou-1;$i++){
10         for($j=$i+1;$j<$cou;$j++){
11             if($array[$i]>$array[$j]){
12                 $tmp = $array[$j];
13                 $array[$j] = $array[$i];
14                 $array[$i] = $tmp;
15             }
16         }
17     }
18     return $array;
19 }
20 
21 $ar = bubbling_sort($arr);
22 var_dump($ar);die;

2、快速排序

?

 1 function quick_sork($array)
 2 {
 3     if(count($array) <= 1) return $array;
 4     $key = $array[0];
 5     $left_arr = array();
 6     $right_arr = array();
 7     for($i=0;$i<count($array);$i++){
 8         if($array[$i]<$key){
 9             $left_arr[] = $array[$i];
10         }elseif($array[$i]>$key){
11             $right_arr[] = $array[$i];
12         }
13     }
14     $left_arr = quick_sork($left_arr);
15     $right_arr = quick_sork($right_arr);
16     return array_merge($left_arr,array($key),$right_arr);
17 }

?

3、选择排序

 1 function select_sort($array){
 2     $temp = 0;
 3     for($i = 0;$i < count($array) - 1;$i++){
 4         $minVal = $array[$i]; //假设$i就是最小值
 5         $minValIndex = $i;
 6         for($j = $i+1;$j < count($array);$j++){
 7             if($minVal > $array[$j]){ //从小到大排列
 8                 $minVal = $array[$j]; //找最小值
 9                 $minValIndex = $j;
10             }
11         }
12         $temp = $array[$i];
13         $array[$i] = $array[$minValIndex];
14         $array[$minValIndex] = $temp;
15     }
16     return $array;
17 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读