
排序算法有以下几种:
冒泡排序、直接插入排序、希尔排序、选择排序、堆排序,归并排序
以下数组为例子
$arr = array(23, 15, 43, 25, 54, 2, 6, 82, 11, 5, 21, 32, 65);
冒泡排序
function maopao($arr)
{
$length = count($arr);
for ($i = 0; $i < $length; $i++) {
for ($j = $i + 1; $j < $length; $j++) {
if ($arr[$i] > $arr[$j]) {
$temp = $arr[$j];
$arr[$j] = $arr[$i];
$arr[$i] = $temp;
}
}
}
return $arr;
}
var_dump(maopao($arr));
快速排序
function kspx($demo_array)
{
$length = count($demo_array);
if ($length <= 1) {
return $demo_array;
}
$base = $demo_array[0];
$left = [];
$right = [];
for ($i = 1; $i < $length; $i++) {
if ($base > $demo_array[$i]) {
$left[] = $demo_array[$i];
} else {
$right[] = $demo_array[$i];
}
}
$left = kspx($left);
$right = kspx($right);
return array_merge($left, [$base], $right);
}
var_dump(kspx($arr));




近期评论