加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP版本常用的排序算法汇总

发布时间:2020-12-12 21:13:51 所属栏目:PHP教程 来源:网络整理
导读://1、冒泡排序 //2、归并排序 //归并排序主程序 function al_merge_sort($arr) { $len = count($arr); if ($len = 1) { return $arr; //递归结束条件,到达这步的时候,数组就只剩下一个元素了,也就是分离了数组 } $mid = intval($len / 2); //取数组中间 $lef

//1、冒泡排序

//2、归并排序

//归并排序主程序
function al_merge_sort($arr)
{
$len = count($arr);
if ($len <= 1) {
return $arr; //递归结束条件,到达这步的时候,数组就只剩下一个元素了,也就是分离了数组
}
$mid = intval($len / 2); //取数组中间
$left_arr = array_slice($arr,$mid); //拆分数组0-mid这部分给左边left_arr
$right_arr = array_slice($arr,$mid); //拆分数组mid-末尾这部分给右边right_arr
$left_arr = al_merge_sort($left_arr); //左边拆分完后开始递归合并往上走
$right_arr = al_merge_sort($right_arr); //右边拆分完毕开始递归往上走
$arr = al_merge($left_arr,$right_arr); //合并两个数组,继续递归
return $arr;
}

$arr = array(12,5,4,7,8,3,2,6,9);
print_r(al_merge_sort($arr));

//3、二分查找-递归

//4、二分查找-非递归

//5、快速排序

//6、选择排序

//7、插入排序

$tmp) { $arr[$j+1]=$arr[$j]; $arr[$j]=$tmp; $j--; if($j<0) break; } } return $arr; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读