$arr = array(13,1,65,4,6,41,61,68);
$num = count($arr);
/**
* 冒泡排序
*/
for ($i=1; $i < $num ; $i++)
{
for ($j=0; $j < $num-$i ; $j++)
{
if($arr[$j] > $arr[$j+1])
{
$data = $arr[$j+1];
$arr[$j+1] = $arr[$j];
$arr[$j] = $data;
}
}
}
echo “
”;
print_r($arr);
/**
* 选择排序
*/
for ($i=0; $i < $num-1; $i++)
{
$p = $i;
for ($j=$i+1; $j
{
if($arr[$p] > $arr[$j])
{
$p = $j;
}
}
if($p != $i)
{
$data = $arr[$p];
$arr[$p] = $arr[$i];
$arr[$i] = $data;
}
}
echo “
”;
print_r($arr);
/**
* 插入排序
*/
for ($i=1; $i
{
$data = $arr[$i];
for ($j=$i-1; $j >=0; $j–)
{
if($data < $arr[$j])
{
$arr[$j+1] = $arr[$j];
$arr[$j] = $data;
}
}
}
echo “
”;
print_r($arr);
/**
* 快速排序
*/
if($num <= 1)
{
return $arr;
}
$base_num = $arr[0];
$left = array();
$right = array();
for ($i=1; $i < $num; $i++)
{
if($base_num > $arr[$i])
{
$left[] = $arr[$i];
}
else
{
$right[] = $arr[$i];
}
}
echo “
”;
print_r(array_merge($left,array($base_num),$right));