快速排序-php代码实现
2019-07-23 08:40:42来源:博客园 阅读 ()
<?php function quickSort(&$a) { $n = count($a); quickSortInternally($a, 0, $n-1); } function quickSortInternally(&$a,$l,$r) { if ($l >= $r) return; $q = partition($a, $l, $r); quickSortInternally($a, $l, $q-1); quickSortInternally($a, $q+1, $r); } function partition(&$a,$l,$r) { $pivot = $a[$r]; $i = $l; for ($j = $l; $j < $r; ++$j) { if ($a[$j] < $pivot) { $temp = $a[$i]; $a[$i] = $a[$j]; $a[$j] = $temp; ++$i; } } $temp = $a[$i]; $a[$i] = $a[$r]; $a[$r] = $temp; return $i; } $a1 = [1,4,6,2,3,5,4]; $a2 = [2, 2, 2, 2]; $a3 = [4, 3, 2, 1]; $a4 = [5, -1, 9, 3, 7, 8, 3, -2, 9]; quickSort($a1); print_r($a1); quickSort($a2); print_r($a2); quickSort($a3); print_r($a3); quickSort($a4); print_r($a4);
//打印数据如下:
//$a1:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 4
[5] => 5
[6] => 6
)
//$a2:
Array
(
[0] => 2
[1] => 2
[2] => 2
[3] => 2
)
//$a3:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
//$a4:
Array
(
[0] => -2
[1] => -1
[2] => 3
[3] => 3
[4] => 5
[5] => 7
[6] => 8
[7] => 9
[8] => 9
)
原文链接:https://www.cnblogs.com/zzeng347/p/11081015.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP中数组的排序方法 2020-03-10
- 利用PHP获取汉字首字母并且分组排序详解 2020-02-08
- 详解php中二维数组排序问题的处理方法 2019-09-23
- PHP实现插入排序的方法 2019-09-17
- 详解数据库中排序的对比及使用条件 2019-08-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash