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