<?php
function quicksort($arr) {
if (count($arr) <= 1) return $arr;
$key = $arr['0'];
$left = array();
$right = array();
$count = count($arr);
for ($i=1;$i<$count;$i++) {
if ($arr[$i] <= $key) {
$left[] = $arr[$i];
} else {
$right[] = $arr[$i];
}
}
$left = quicksort($left);
$right = quicksort($right);
return array_merge($left,array($key),$right);
}
结合图形更容易理解整个过程: