算法基础--快速排序

100 阅读1分钟

快速排序的基本思想是

1、数组中取出一个数作为基准

2、其它数与基准数做比较,大的数放右边,小于或等于放到左边

3、再对左右区间重复第二步,直到各区间只有一个。

<?php
    function quickSort($arr){
	$c = count($arr);
	if($c <= 1) return $arr;    //递归出口
	$left = $right = [];
	for ($i=1; $i < $c; $i++) { 
		if($arr[$i] > $arr[0]){
		    array_push($right, $arr[$i]);
		}else{
		    array_push($left, $arr[$i]);
		}
	}
	$left = quickSort($left);
	$right= quickSort($right);
	return array_merge($left,[$arr[0]],$right);
}
?>