php basic sorting algorithm

1, bubble sort

 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, quick sort

 

 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. Select the sort

 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 ]) { // ascending order 
. 8                  $ minVal = $ Array [ $ J ]; // find the minimum value 
. 9                  $ minValIndex = $ J ;
 10              }
 . 11          }
 12 is          TEMP $ = $ Array [ $ I ];
 13 is          $ Array [ $ I ] = $ Array [ $ minValIndex ];
 14          $ Array [ $ minValIndex] = $temp;
15     }
16     return $array;
17 }

 

Guess you like

Origin www.cnblogs.com/wawjandcsws/p/11076351.html