本文實例講述了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程序設計有所幫助。