首页 > 代码库 > php实现快速排序和冒泡排序
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;}?>
<?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;
}
?>