冒泡排序和快速排序


//冒泡排序
$arr = array(1,3,4,5,2,8,10,3);

$len = count($arr);
for($i=0;$i<$len;$i++){
for($j=$i+1;$j<$len;$j++){
if($arr[$i] > $arr[$j]){
$tmp = $arr[$j];
$arr[$j] = $arr[$i];
$arr[$i] = $tmp;
}
}
}

print_r($arr);
exit;

//快速排序
$arr = array(4,2,1,5,7,6,8,9,3);

function arr_asc($arr){

$len = count($arr);
if($len <=1){
return $arr;
}

$left_array = array();
$right_array = array();
for($i=1;$i<$len;$i++){
if($arr[0] > $arr[$i]){
$left_array[] = $arr[$i];
}else{
$right_array[] = $arr[$i];
}
}

$left_arr = arr_asc($left_array);
$right_arr = arr_asc($right_array);

return array_merge($left_arr,array($arr[0]),$right_arr);
}

var_dump(arr_asc($arr));
exit;
PHP