龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php关联数组快速排序

时间:2014-06-23 02:38来源:网络整理 作者:网络 点击:
分享到:
php关联数组快速排序 [代码片段(38行)]
<? 

function qsort($a,$f) { 
       qsort_do(&$a,0,Count($a)-1,$f); 
} 

function qsort_do($a,$l,$r,$f) { 
       if ($l < $r) { 
               qsort_partition(&$a,$l,$r,&$lp,&$rp,$f); 
               qsort_do(&$a,$l,$lp,$f); 
               qsort_do(&$a,$rp,$r,$f); 
       } 
} 

function qsort_partition($a,$l,$r,$lp,$rp,$f) { 
       $i = $l+1; 
       $j = $l+1; 

       while ($j <= $r) { 
               if ($f($a[$j],$a[$l])) { 
                       $tmp = $a[$j]; 
                       $a[$j] = $a[$i]; 
                       $a[$i] = $tmp; 
                       $i++; 
               } 
               $j++; 
       } 

       $x = $a[$l]; 
       $a[$l] = $a[$i-1]; 
       $a[$i-1] = $x; 

       $lp = $i - 2; 
       $rp = $i; 
} 

?>

精彩图集

赞助商链接