码迷,mamicode.com
首页 > 编程语言 > 详细

PHP 快速排序法

时间:2016-03-15 19:07:50      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

 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 快速排序法

标签:

原文地址:http://www.cnblogs.com/cloudshadow/p/5280379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!