/**
* 冒泡
*/
public function maopao($arr)
{
$count = count($arr);
for ($i=0;$i<$count;$i++){
for ($j=0;$j<$count-1;$j++){
if ($arr[$i]>$arr[$j]){
$map = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] =$map;
}
}
}
return $arr;
}
/**
* 快速排序
*/
public function qulickly($arr)
{
$count = count($arr);
if($count <= 1) {
return $arr;
}
$mid = $arr[0];
$left = $right = array();
for ($i=1;$i<$count;$i++){
if ($arr[$i]<$mid){
$left[] = $arr[$i];
}else{
$right[] = $arr[$i];
}
}
$left = $this->qulickly($left);
$right = $this->qulickly($right);
return array_merge($left,array($mid),$right);
}
/**
* 插入排序
*/
public function insertSort($arr)
{
$count = count($arr);
for ($i = 1; $i < $count; $i++) {
$tmp = $arr[$i];
for ($j = $i - 1; $j >= 0; $j--) {
if ($tmp < $arr[$j]) {
$arr[$j + 1] = $arr[$j];
$arr[$j] = $tmp;
} else {
break;
}
}
}
return $arr;
}
/**
* 选择排序
*/
public function selectSorct($arr)
{
$count = count($arr);
for ($i = 0; $i < $count; $i++) {
$p = $i;
for ($j = $i + 1; $j < $count; $j++) {
if ($arr[$p] > $arr[$j]) {
$p = $j;
}
}
$tmp = $arr[$p];
$arr[$p] = $arr[$i];
$arr[$i] = $tmp;
}
return $arr;
}
PHP 排序算法
最新推荐文章于 2023-04-21 23:37:21 发布