function kuaisu($arr) {
if (empty($arr)) {
#必须是返回空数组 不然报错
return array();
}
//count long
$len = count($arr);
if ($len < 1) {
return 'is error';
}
//随机选取一个数作为参照
$key[0] = $arr[0];
//建2个数组给来保存左右两边得数据
$left = array();
$right = array();
//循环数组比较
for ($i = 1; $i < $len; $i++) {
# 和选中的值做比较小的放左边,大的放右边,利用二分法原理
if ($arr[$i] <= $key[0]) {
$left[] = $arr[$i];
} else {
$right[] = $arr[$i];
}
}
//把左边的数据放一起,右边的放一起
$left = kuaisu($left);
$right = kuaisu($right);
//最后合并数组放回
return array_merge($left, $key, $right);
}
$arrTest = array(5,2,3,1,4);
print_r(kuaisu($arrTest));
算法之快速排序(php版)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 快速排序是八大排序算法之一,运用也是相当广泛。快速排序是分治思想的一种体现,分治就是将一个规模为N的问题分解成K个...
- 需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中 的值按照从小到的顺序进行排序。$arr(...
- 快速排序(以下简称快排)算法的PHP与JQuery简单实现 1.简介: 1.快排的本质是冒泡排序(Bubble S...