php

位置:IT落伍者 >> php >> 浏览文章

PHP实现常见排序


发布日期:2020年11月06日
 
PHP实现常见排序
//插入排序(一维数组)
function insert_sort($arr){
$count = count($arr);
for($i=; $i<$count; $i++){
$tmp = $arr[$i];
$j = $i ;
while($arr[$j] > $tmp){
$arr[$j+] = $arr[$j];
$arr[$j] = $tmp;
$j;
}
}
return $arr;
}
//选择排序(一维数组)
function select_sort($arr){
$count = count($arr);
for($i=; $i<$count; $i++){
$k = $i;
for($j=$i+; $j<$count; $j++){
if ($arr[$k] > $arr[$j])
$k = $j;
if ($k != $i){
$tmp = $arr[$i];
$arr[$i] = $arr[$k];
$arr[$k] = $tmp;
}
}
}
return $arr;
}

//冒泡排序(一维数组)
function bubble_sort($array){
$count = count($array);
if ($count <= ) return false;
for($i=; $i<$count; $i++){
for($j=$count; $j>$i; $j){
if ($array[$j] < $array[$j]){
$tmp = $array[$j];
$array[$j] = $array[$j];
$array[$j] = $tmp;
}
}
}
return $array;
}

//快速排序(一维数组)
function quick_sort($array){
if (count($array) <= ) return $array;
$key = $array[];
$left_arr = array();
$right_arr = array();
for ($i=; $i<count($array); $i++){
if ($array[$i] <= $key) $left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}
$left_arr = quick_sort($left_arr);
$right_arr = quick_sort($right_arr);
return array_merge($left_arr array($key) $right_arr);
}


               

上一篇:PHP中使用协同程序实现合作多任务第1/2页

下一篇:PHP中奖概率的抽奖算法程序代码