冒泡排序,快速排序,选择排序,插入排序。
<?php
//冒泡排序
function bubble($arr){
for($i=0;$i<count($arr)-1;$i++){
for($j=0;$j<count($arr)-$i-1;$j++){
if($arr[$j]>$arr[$j+1]){
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}
}
return $arr;
}
$arr= array(3,5,4,2,8,4,6,8,9,4);
var_dump(bubble($arr)); echo '<br>';
//快速排序
function fastpx($arr){
if(count($arr)<=1) return $arr;
$key=$arr[0];
$arr_left=array();
$arr_right=array();
for($i=1;$i<count($arr);$i++){
if($arr[$i]<=$key){
$arr_left[]=$arr[$i];
}else{
$arr_right[]=$arr[$i];
}
}
$arr_left=fastpx($arr_left);
$arr_right=fastpx($arr_right);
return array_merge($arr_left,array($key),$arr_right);
}
$arr= array(3,15,4,2,10,4,6,8,9,5);
var_dump(fastpx($arr)); echo '<br>';
//选择排序
function xuanzpx($arr){
for($i=0;$i<count($arr);$i++){
for($j=$i+1;$j<count($arr);$j++){
//$k=$i;
if($arr[$i]>$arr[$j]){
//$k=$j;
//if($k!=$i){
$temp=$arr[$i];
$arr[$i]=$arr[$j];
$arr[$j]=$temp;
//}
}
}
}
return $arr;
}
$arr= array(3,15,16,2,10,4,6,8,9,5);
var_dump(xuanzpx($arr)); echo '<br>';
?>

浙公网安备 33010602011771号