function quick_sort($my_array)
{
$loe = $gt = array();
if(count($my_array) < 2) {
return $my_array;
}
$pivot_key = key($my_array);
$pivot = array_shift($my_array);
foreach($my_array as $val) {
if($val <= $pivot) {
$loe[] = $val;
} elseif ($val > $pivot) {
$gt[] = $val;
}
}
return array_merge(quick_sort($loe),array($pivot_key=>$pivot),quick_sort($gt));
}
$my_array = array(3, 0, 2, 5, -1, 4, 1);
echo '原始数组 : '.implode(',',$my_array);
echo '<br >';
$my_array = quick_sort($my_array);
echo '排序后数组 : '.implode(',',$my_array);
相关函数:
array_shift() 函数将数组开头的单元移出数组;
array_merge() 函数合并一个或多个数组。
结果: