我正在使用php学习DS,在这里我坚持使用QUICK排序算法。我完全理解在理论上快速排序的工作,但问题在于代码。任何人都可以帮助我理解如何排序真的适用于recurssion ..
function quickSort($array) {
//length
$length=count($array);
if($length <=1) {
return $array;
}
else {
//select the pivot element
$pivot=$array[0];
//elements smaller than the pivot will contain in the left array and-
//greater elements in the right array
$left=$right=array();
for($i=1;$i<count($array);$i++) {
if($array[$i]<$pivot) {
$left[]=$array[$i];
}
else {
$right[]=$array[$i];
}
}
}
//Recursion
return array_merge(quickSort($left),array($pivot),quickSort($right));
}