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 }