php数据结构与算法(PHP描述) 快速排序 quick sort
2015-01-24信息快讯网
php数据结构与算法(PHP描述) 快速排序 quick sort,学习php的朋友可以参考下
<?php /** * 快速排序 quick sort * **/ function sort_quick($arrData) { if(empty($arrData) || !is_array($arrData)) return false; $flag = $arrData[0]; $len = count($arrData) - 1; if($len == 0) return $arrData; // 如果只有一个数据的数组直接返回 $arrLeft = array(); $arrRight = array(); $len_l = 0; $len_r = 0; for($i = 1; $i <= $len;$i++) { if($arrData[$i] < $flag) { $arrLeft[$len_l] = $arrData[$i]; // 小于的放左边 $len_l++; } else { $arrRight[$len_r] = $arrData[$i]; // 大于等于的放右边 $len_r++; } } // 合并数组 $arrResult = array(); if($len_l) { $arrLeft = sort_quick($arrLeft); for($i = 0;$i <= $len_l - 1; $i++ ) { $arrResult[$i] = $arrLeft[$i]; } } $arrResult[$len_l] = $flag; $len_l++; if($len_r) { $arrRight = sort_quick($arrRight); for($i = 0;$i <= $len_r - 1; $i++ ) { $arrResult[$len_l] = $arrRight[$i]; $len_l++; } } echo "== ",$flag," ==========================================<br/>"; echo "data : ",print_r($arrData),"<br/>"; echo "filter left: ",print_r($arrLeft),"<br/>"; echo "filter right: ",print_r($arrRight),"<br/>"; echo "return : ",print_r($arrResult),"<br/>"; return $arrResult; } //$list = array(4,3,2,1,5,7,3,7); $list = array(4,51,6,73,2,5,9,33,50,3,4,6,1,4,67); $list = sort_quick($list); echo "<pre>";print_r($list);
基于PHP服务端图片生成缩略图的方法详解
解析thinkphp中的导入文件标签
解析thinkphp import 文件内容变量失效的问题
解析用PHP实现var_export的详细介绍
PHP 实现explort() 功能的详解
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
解析phpstorm + xdebug 远程断点调试
使用array mutisort 实现按某字段对数据排序
深入array multisort排序原理的详解
如何利用php array_multisort函数 对数据库结果进行复杂排序
php排序算法(冒泡排序,快速排序)
php实现快速排序法函数代码
通过PHP的内置函数,通过DES算法对数据加密和解密
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
php后退一页表单内容保存实现方法
php中使用接口实现工厂设计模式的代码
php中jQuery插件autocomplate的简单使用笔记
PHP的加密方式及原理
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
PHP number_format() 函数定义和用法
PHP中将网页导出为Word文档的代码
php的array_multisort()使用方法介绍
修改PHP的memory_limit限制的方法分享
PHP中usort在值相同时改变原始位置问题的解决方法
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
php数组函数序列之sort() 对数组的元素值进行升序排序
Smarty+QUICKFORM小小演示