源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php数据结构与算法(PHP描述) 快速排序 quick sort

  • 时间:2022-01-25 10:19 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php数据结构与算法(PHP描述) 快速排序 quick sort
[u]复制代码[/u] 代码如下:
<?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);
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部