排序算法-快速排序
思路: 通过一趟排序将待排记录分割成独立的两部分,其中一部分的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排序,已达到整个序列有序的目的。
复杂度: O(logn)
function quickSort(&$list, $left, $right){
$_left = $left;
$_right = $right;
if($_left < $_right){
$temp = $list[$left];
while($_left != $_right){
while($_left < $_right && $list[$_right] >= $temp){
$_right--;
}
$list[$_left] = $list[$_right];
while($_left < $_right && $list[$_left] <= $temp){
$_left++;
}
$list[$_right] = $list[$_left];
}
$list[$_right] = $temp;
quickSort($list, $left, $_left - 1);
quickSort($list, $_right + 1, $_right);
}
}