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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |