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

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

相关文章

探究Laravel使用env函数读取环境变量为null的问题

探究Laravel使用env函数读取环境变量为null的问题

发现问题 在 Laravel 项目中,如果执行了 php artisan config:cache 命令把配置文件缓存起来后,在 Tinker 中(Tinker 是 Laravel 自带...

php使用unset()删除数组中某个单元(键)的方法

本文实例讲述了php使用unset()删除数组中某个单元(键)的方法。分享给大家供大家参考。具体分析如下: unset既可以删除变量,也可以删除数组中某个单元。但要注意的是,数组不会重建...

改写函数实现PHP二维/三维数组转字符串

由于工作需要,自己在手册给定的示例函数基础上改写出了这样一个函数,代码如下: 复制代码 代码如下: //将多维数组中所有的数值转换成字符串————》最多支持三维数组 function i...

某大型网络公司应聘时的笔试题目附答案

1、有一个论坛,帖子的数据巨大,请简要说明如何提高用户搜索帖子的效率。 在程序方面,可以使用页面缓存技术。在前台界面着设计方面也可以让用户输入多一些的关键字,比如帖子的标题,发贴人的id...

PHP单元测试利器 PHPUNIT初探第1/2页

PHP单元测试利器 PHPUNIT初探第1/2页

当你遇到以上这些令你沮丧的情况时,你一定会想能有什么更好的办法去解决呢?办法当然是有的!这就是使用单元测试。单元测试不但可以在一定程度上解决上述头疼的问题,而且能让代码变的容易维护,还可...