冒泡排序
<?php
function bubble($array) {
$len = count($array);
for ($i=0; $i < $len; $i++) {
for ($j=$i+1; $j < $len; $j++) {
if ($array[$i] > $array[$j])
{
$temp = $array[$j];
$array[$j] = $array[$i];
$array[$i] = $temp;
}
}
}
return $array;
}
$array = [2,1,5,767,8,3,1,0];
print_r(bubble($array));
快速排序
<?php
function quick($array)
{
$len = count($array);
if ($len <= 1) {
return $array;
}
$middle = $array[0];
$left = [];
$right = [];
for($i = 1; $i<$len; $i++)
{
if ($array[$i] < $middle) {
array_push($left, $array[$i]);
} else {
array_push($right, $array[$i]);
}
}
$left = quick($left);
$right = quick($right);
return array_merge($left, [$middle], $right);
}
$array = [2,1,5,767,8,3,1,0];
print_r(quick($array));
快速排序
<?php
function insertSort($array)
{
$len = count($array);
for($i = 1; $i < $len; $i++)
{
$insert_value = $array[$i];
for($j = $i-1; $j>=0; $j--)
{
if ($array[$j] > $insert_value) {
$array[$j+1] = $array[$j];
} else {
break;
}
}
$array[$j+1] = $insert_value;
}
return $array;
}
$array = [2,1,5,767,8,3,1,0];
print_r(insertSort($array));