1 <?php 2 3 $arr = array(5,2,6,1,0,3); 4 5 $len = count($arr); 6 7 8 /*/冒泡法排序写法 9 for($x=0;$x<$len-1;$x++){ 10 for($y=0;$y<$len-$x-1;$y++){ 11 if($arr[$y]<$arr[$y+1]){ 12 $tmp = $arr[$y]; 13 $arr[$y] = $arr[$y+1]; 14 $arr[$y+1] = $tmp; 15 } 16 } 17 } 18 */ 19 20 21 //选择排序 22 for($i=0;$i<$len-1;$i++){ 23 for($j=$i+1;$j<$len;$j++){ 24 if($arr[$i]>$arr[$j]){ 25 $tmp = $arr[$i]; 26 $arr[$i] = $arr[$j]; 27 $arr[$j] = $tmp; 28 } 29 } 30 } 31 32 33 34 35 print_r($arr);
$arr = array(20,11,18,33,17,32,15,22,13,25,36,16,66); function qSort($arr){ if(!is_array($arr) || empty($arr)) return array(); # 获取数组的长度 $len = count($arr); # 如果数组中有一个元素,直接返回这个数组 if($len<=1) return $arr; $key = $arr[0]; $left = array(); $right = array(); for($i=1;$i<$len;$i++){ if($arr[$i]<=$key){ $left[] = $arr[$i]; }else{ $right[] = $arr[$i]; } } $left = qSort($left); $right = qSort($right); return array_merge($left,array($key),$right); } echo '<pre>'; print_r(qSort($arr));