时间:2021-07-01 10:21:17 帮助过:26人阅读
- <br><!--?php <BR-->/** <br>* 快速排序 quick sort <br>* <br>**/ <br><br>function sort_quick($arrData) { <br>if(empty($arrData) || !is_array($arrData)) return false; <br><br>$flag = $arrData[0]; <br>$len = count($arrData) - 1; <br>if($len == 0) return $arrData; // 如果只有一个数据的数组直接返回 <br><br>$arrLeft = array(); <br>$arrRight = array(); <br>$len_l = 0; <br>$len_r = 0; <br>for($i = 1; $i <= $len;$i++) { <br>if($arrData[$i] < $flag) { <br>$arrLeft[$len_l] = $arrData[$i]; // 小于的放左边 <br>$len_l++; <br>} else { <br>$arrRight[$len_r] = $arrData[$i]; // 大于等于的放右边 <br>$len_r++; <br>} <br>} <br><br>// 合并数组 <br>$arrResult = array(); <br>if($len_l) { <br>$arrLeft = sort_quick($arrLeft); <br>for($i = 0;$i <= $len_l - 1; $i++ ) { <br>$arrResult[$i] = $arrLeft[$i]; <br>} <br>} <br>$arrResult[$len_l] = $flag; <br>$len_l++; <br>if($len_r) { <br>$arrRight = sort_quick($arrRight); <br>for($i = 0;$i <= $len_r - 1; $i++ ) { <br>$arrResult[$len_l] = $arrRight[$i]; <br>$len_l++; <br>} <br>} <br>echo "== ",$flag," ==========================================<br>"; <br>echo "data : ",print_r($arrData),"<br>"; <br>echo "filter left: ",print_r($arrLeft),"<br>"; <br>echo "filter right: ",print_r($arrRight),"<br>"; <br>echo "return : ",print_r($arrResult),"<br>"; <br><br>return $arrResult; <br>} <br>//$list = array(4,3,2,1,5,7,3,7); <br>$list = array(4,51,6,73,2,5,9,33,50,3,4,6,1,4,67); <br>$list = sort_quick($list); <br>echo "<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li>";print_r($list); <br></li><li><p></p></li><li><p align="left"><span id="url" itemprop="url">http://www.bkjia.com/PHPjc/325534.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/325534.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description"> 代码如下:</span></p><pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li>?php /** * 快速排序 quick sort * **/ function sort_quick($arrData) { if(empty($arrData) || !is_array($arrData)) return false; $flag = $arrData[0]; $l...<p></p></li><li> </li></ol></pre></li></ol></pre>