PHP 快速排序法
Posted cloudshadow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 快速排序法相关的知识,希望对你有一定的参考价值。
1 <?php 2 function quickSort($arr) { 3 //先判断是否需要继续进行 4 $length = count($arr); 5 if ($length <= 1) { 6 return $arr; 7 } 8 //如果没有返回,说明数组内的元素个数 多余1个,需要排序 9 //选择一个标尺 10 //选择第一个元素 11 $base_num = $arr[0]; 12 //遍历 除了标尺外的所有元素,按照大小关系放入两个数组内 13 //初始化两个数组 14 $left_array = array();//小于标尺的 15 $right_array = array();//大于标尺的 16 for ($i = 1; $i < $length; $i++) { 17 if ($base_num > $arr[$i]) { 18 //放入左边数组 19 $left_array[] = $arr[$i]; 20 } else { 21 //放入右边数组 22 $right_array[] = $arr[$i]; 23 } 24 } 25 //再分别对 左边 和 右边的数组进行相同的排序处理方式 26 //递归调用这个函数,并记录结果 27 $left_array = quickSort($left_array); 28 $right_array = quickSort($right_array); 29 30 //合并左边 标尺 右边 31 return array_merge($left_array, array($base_num), $right_array); 32 } 33 $arr = array(88, 1, 2, 5, 4, 3, 66, 0); 34 $res = quickSort($arr); 35 print_r($res);
以上是关于PHP 快速排序法的主要内容,如果未能解决你的问题,请参考以下文章
php排序介绍_冒泡排序_选择排序法_插入排序法_快速排序法