php 冒泡法和快速排序法
冒泡排序法:
<?php
$arr=array(23,12,25,16,11,6,72,25,9,17);
$len=count($arr);
for($i=0;$i<$len-1;$i++)
{
for($k=0;$k<$len-$i-1;$k++)
{
if ($arr[$k]>$arr[$k+1])
{
$temp=$arr[$k+1];
$arr[$k+1]=$arr[$k];
$arr[$k]=$temp;
}
}
}
print_r($arr) ;
?>
快速排序法:
<?php
$str=array(23,12,25,16,11,6,72,24,9,17);
function quicksort($str){
$len=count($str);
if($len<=1) return $str;
$key=$str[0];
$left=array();
$right=array();
for($i=1;$i<$len;$i++){//比$key大的放在右边,小的放在左边;
if($str[$i]<=$key)
$left[]=$str[$i];
else
$right[]=$str[$i];
}
$left=quicksort($left);//进行递归;
$right=quicksort($right);
return array_merge($left,array($key),$right);//将左中右的值合并成一个数组;
}
print_r(quicksort($str));
?>
浙公网安备 33010602011771号