php实现快速排序和冒泡排序
<?php $arr = array(9,4,12,34,1,43,23,7,3,4,5,6,33,22,12,21,15,62,1222,21,322,432,31,54,64); //$sorted_arr = quickSort($arr); $sorted_arr = bublleSort($arr); var_dump($sorted_arr); // 快速排序算法 function quickSort($arr){ if(count($arr)>1){ $k=$arr[0]; $x=array(); $y=array(); $_size=count($arr); for($i=1;$i<$_size;$i++){ if($arr[$i]<=$k){ $x[]=$arr[$i]; }else{ $y[]=$arr[$i]; } } $x=quickSort($x); $y=quickSort($y); return array_merge($x,array($k),$y); }else{ return $arr; } } // 冒泡排序算法 function bublleSort($arr){ for($l = count($arr);$l>1;$l--){ for($i=0;$i<$l-1;$i++){ if($arr[$i] > $arr[$i+1]){ $tmp = $arr[$i]; $arr[$i] = $arr[$i+1]; $arr[$i+1] = $tmp; } } } return $arr; } ?>
2015.3.16增加插入排序
<?php function insertSort($arr) { for ($i = 1; $i < count($arr); $i++) { $tmp = $arr[$i]; $key = $i-1; while ($key >= 0 && $tmp < $arr[$key]){ $arr[$key+1] = $arr[$key]; $key--; } if (($key+1) != $i) { $arr[$key+1] = $tmp; } } return $arr; } $arr = array(3,4,2,54,12,34,65,12,456,12,45,75); $arr = insertSort($arr); var_export($arr); ?>