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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

PHP memcache扩展的三种安装方法

关于比较请看http://code.google.com/p/memcached/wiki/PHPClientComparison。推荐使用新的memcached,安装方法基本同下面,只...

php中计算中文字符串长度、截取中文字符串的函数代码

在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启。当然,如果是...

Windows下编译PHP5.4和xdebug全记录

实际上我最终目的是编译得到支持 PHP5.4 的 php_xdebug.dll,而在此之前,成功编译 PHP5.4 是必须的。 编译环境以及相关软件包: 1.Microsoft Visu...

PHP中十六进制颜色与RGB颜色值互转的方法

16进制的颜色值通常表示为#FFFFFF,当前也有缩减为#FFF,前提是两位两位必需相同,例如#FEFEFE这种,就不能进行缩减。而RGB的颜色格式是由3组0~255的数字构成,分别代表...

smarty section简介与用法分析

基本原形为: {section name = name loop = $varName[, start = $start, step = $step, max = $max, show...