PHP算法-快速排序 分治法 博客分类: PHP PHP算法排序快速排序分治法
程序员文章站
2024-03-19 12:29:34
...
/** * 快速排序 分治法 * 1 把小于指定数($key = $arr[0])的 放在左侧数组(left);大于$key 放在右侧数组 * 2 合并 数组 * * @param unknown $arr */ function quick_sort($arr) { $count = count($arr); if (count($arr) > 1) { $key = $arr[0]; $left = []; $right = []; for ($i = 1; $i < $count; $i ++) { if ($arr[$i] <= $key) { $left[] = $arr[$i]; } elseif ($arr[$i] > $key) { $right[] = $arr[$i]; } } $left = quick_sort($left); $right = quick_sort($right); return array_merge($left, [ $key ], $right); } else { return $arr; } }
推荐阅读
-
PHP算法-归并排序 博客分类: PHP php排序算法归并
-
PHP算法-选择排序 博客分类: PHP PHP算法选择排序排序
-
PHP算法-快速排序 分治法 博客分类: PHP PHP算法排序快速排序分治法
-
PHP算法-冒泡排序 博客分类: PHP php算法排序冒泡
-
PHP算法-插入排序 博客分类: PHP PHP算法排序插入排序
-
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
-
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
-
php项目开发中用到的快速排序算法分析
-
Java基于分治法实现的快速排序算法示例
-
php四种基础算法:冒泡,选择,插入和快速排序法_PHP教程