php 快速排序

xiaoxiao2021-02-28  33

 分而治之

(1) 找出基线条件,这种条件必须尽可能简单。

(2) 不断将问题分解(或者说缩小规模),直到符合基线条件。

$arr=array(5,1,2); function quicksort($arr){ if(count($arr)<2){ return $arr; }else{ $pivot=$arr[0]; $less=[];//小于基准线的数组 $greater=[];//大于基准线的数组 for($i=1;$i<count($arr);$i++){ if($arr[$i]<$pivot){ $less[count($less)]=$arr[$i]; }else{ $greater[count($greater)]=$arr[$i]; } } return array_merge(quicksort($less),array($pivot),quicksort($greater)); } } $list= quicksort($arr);
转载请注明原文地址: https://www.6miu.com/read-2614206.html

最新回复(0)