php关联数组快速排序的方法

本文实例讲述了php关联数组快速排序的方法。分享给大家供大家参考。具体如下:

<?php
 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;
}
?>

希望本文所述对大家的php程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。