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
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() 函数合并一个或多个数组。

结果:

PHP实现快速排序

给TA打赏
共{{data.count}}人
人已打赏
安全技术

c++ vector

2022-1-11 12:36:11

安全漏洞

预警Oracle WebLogic T3反序列化0day漏洞

2021-7-11 11:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索