释放双眼,带上耳机,听听看~!
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 1function quick_sort($my_array)
2{
3 $loe = $gt = array();
4
5 if(count($my_array) < 2) {
6 return $my_array;
7 }
8
9 $pivot_key = key($my_array);
10 $pivot = array_shift($my_array);
11
12 foreach($my_array as $val) {
13 if($val <= $pivot) {
14 $loe[] = $val;
15 } elseif ($val > $pivot) {
16 $gt[] = $val;
17 }
18 }
19 return array_merge(quick_sort($loe),array($pivot_key=>$pivot),quick_sort($gt));
20}
21
22$my_array = array(3, 0, 2, 5, -1, 4, 1);
23echo '原始数组 : '.implode(',',$my_array);
24echo '<br >';
25$my_array = quick_sort($my_array);
26echo '排序后数组 : '.implode(',',$my_array);
27
相关函数:
array_shift() 函数将数组开头的单元移出数组;
array_merge() 函数合并一个或多个数组。
结果:
