php 实现常见的排序
Posted hea7r9o4
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 实现常见的排序相关的知识,希望对你有一定的参考价值。
$arr = [4,5,3,2,1,9,8,6,7];
//冒泡排序
function maopao($arr)
{
$len = count($arr);
for ($i=1; $i <$len ; $i++) {
# code...
for ($k=0; $k <($len-$i) ; $k++) {
# code...
if ($arr[$k]>$arr[$k+1]) {
# code...
$v_k = $arr[$k];
$arr[$k]=$arr[$k+1];
$arr[$k+1]=$v_k;
}
}
}
return $arr;
}
//快速排序
function kuaisu($arr)
{
$len = count($arr);
if ($len<=1) {
# code...
return $arr;
}
//选择基准元素
$a = $arr[0];
$left = $right = [];
//循环
for ($i=1; $i < $len; $i++) {
# code...
if ($arr[$i]<$a) {
# code...
$left[]=$arr[$i];
}else{
$right[]=$arr[$i];
}
}
$left = kuaisu($left);
$right = kuaisu($right);
return array_merge($left,[$a],$right);
}
//插入排序
function insertSort($arr)
{
$len = count($arr);
for ($i=1; $i < $len; $i++) {
# code...
$tmp = $arr[$i];
for ($j=$i-1; $j >=0 ; $j--) {
# code...
if ($tmp<$arr[$j]) {
# code...
$arr[$j+1]=$arr[$j];
$arr[$j]=$tmp;
}else{
break;
}
}
}
return $arr;
}
//选择排序
function selectSort($arr)
{
$len = count($arr);
for ($i=0; $i < $len; $i++) {
# code...
$p=$i;
for ($j=$i+1; $j < $len; $j++) {
# code...
if ($arr[$p]>$arr[$j]) {
# code...
$p=$j;
}
}
$tmp = $arr[$p];
$arr[$p]=$arr[$i];
$arr[$i]=$tmp;
}
return $arr;
}
以上是关于php 实现常见的排序的主要内容,如果未能解决你的问题,请参考以下文章