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
31
32
33
34
35
36
37
|
<?php class Bubble { private function __construct() { } private static function sortt( $data ) { if ( count ( $data ) <= 1) { return $data ; } $tem = $data [0][ 'score' ]; $leftarray = array (); $rightarray = array (); for ( $i = 1; $i < count ( $data ); $i ++) { if ( $data [ $i ][ 'score' ] <= $tem ) { $leftarray [] = $data [ $i ]; } else { $rightarray [] = $data [ $i ]; } } $leftarray =self::sortt( $leftarray ); $rightarray =self::sortt( $rightarray ); $sortarray = array_merge ( $leftarray , array ( $data [0]), $rightarray ); return $sortarray ; } public static function main( $data ) { $ardata = self::sortt ( $data ); return $ardata ; } } $arr = array ( array ( 'sid' =>1, 'score' =>76), array ( 'sid' =>2, 'score' =>93), array ( 'sid' =>3, 'score' =>68.5), array ( 'sid' =>4, 'score' =>82.5), array ( 'sid' =>5, 'score' =>60.5) ); print_r(Bubble::main( $arr )); |
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/xingjigongsi/article/details/22757425