Пытаюсь сам реализовать алгоритм сортировки QuickSort. Уже целый час сижу и не могу понять, что я тут делаю не так?
function quicksort(&$array, $first, $last) {
$left = $first;
$right = $last;
$pivot = $array[rand($first, $last)];
do {
while($array[$left] < $pivot)
$left++;
while($array[$right] > $pivot)
$right--;
if ($left <= $right) {
$temp = $array[$left];
$array[$left] = $array[$right];
$array[$right] = $temp;
$left++;
$right--;
}
}
while ($left <= $right);
quicksort($array, $first, $right);
quicksort($array, $left, $last);
}