<?php
function swap(array &$arr,$a,$b){
$temp=$arr[$a];
$arr[$a]=$arr[$b];
$arr[$b]=$temp;
}
function Partition(array &$arr,$low,$high){
$pivot=$arr[$low];
while($low<$high){
while($low<$high && $arr[$high]>$arr[$pivot]){
$high--;
}
swap($arr,$low,$high);
var_dump($arr);
while($low<$high && $arr[$low] < $arr[$pivot]){
$low++;
}
swap($arr,$low,$high);
}
return $high;
}
function quickSort(array &$arr){
$low=0;
$high=count($arr)-1;
if($low<$high){
$pivot=Partition($arr,$low,$high);
quickSort($arr,$low,$pivot-1);
quickSort($arr,$pivot+1,$high);
}
}
$arr = array(1,5,8,3,7,4,6,2);
QuickSort($arr);
var_dump($arr);