快排
function quicksort($str){
if(count($str)<=1) return $str;// 如果个数不大于一,直接返回
$key=$str[0];// 取一个值,稍后用来比较;
$left_arr=array();
$right_arr=array();
for($i=1;$i
if($str[$i]<=$key)
$left_arr[]=$str[$i];
else
$right_arr[]=$str[$i];
}
$left_arr=quicksort($left_arr);// 进行递归;
$right_arr=quicksort($right_arr);
return array_merge($left_arr,array($key),$right_arr);// 将左中右的值合并成一个数组;
}// 以下是测试
$str=array(5,3,8,2,5,9,7,2,1,4,0);
print_r(quicksort($str));
?>
冒泡排序
function bubbingSort(array $array)
{
for($i=0, $len=count($array)-1; $i<$len; ++$i)
{
for($j=$len; $j>$i; –$j)
{
if($array[$j] < $array[$j-1])
{
$temp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $temp;
}
}
}
return $array;
}
print '
';
print_r(bubbingSort(array(1,4,22,5,7,6,9)));
print '';