本文实例讲述了php关联数组快速排序的方法。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
<?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程序设计有所帮助。