Find documentation for this example at: http://www.randymelder.com/2009/12/06/php-linked-list-example/
As referenced from: http://en.wikibooks.org/wiki/Algorithm_Implementation/Sorting/Quicksort
function quicksort($seq) {
if(!count($seq)) return $seq;
$pivot= $seq[0];
$low = $high = array();
$length = count($seq);
for($i=1; $i < $length; $i++) {
if($seq[$i] <= $pivot) {
$low [] = $seq[$i];
} else {
$high[] = $seq[$i];
}
}
return array_merge(quicksort($low), array($pivot), quicksort($high));
}
//Let's try some examples
$myarr = array(25,5,3,4,17,1,88,8);
$final = quicksort($myarr);
print_r($final);
$final = quicksort($final);
print_r($final);
$strarray = array("mark","wes","mj","bruce","ming","lance","vince");
var_dump(quicksort($strarray));
// Here's the output...
Array
(
[0] => 1
[1] => 3
[2] => 4
[3] => 5
[4] => 8
[5] => 17
[6] => 25
[7] => 88
)
Array
(
[0] => 1
[1] => 3
[2] => 4
[3] => 5
[4] => 8
[5] => 17
[6] => 25
[7] => 88
)
array(7) {
[0]=>
string(5) "bruce"
[1]=>
string(5) "lance"
[2]=>
string(4) "mark"
[3]=>
string(4) "ming"
[4]=>
string(2) "mj"
[5]=>
string(5) "vince"
[6]=>
string(3) "wes"
}