快速排序(Quicksort)的PHP实现。
<pre class="brush:php;"> function out_arr($arr) {
return implode(', ', $arr).'
';
}
function sort_quick($arr) {
if( count($arr) > 1 ) {
$key = $arr[0];
$min = array();
$max = array();
for ($i = 1; $i < count($arr); $i++) {
if( $arr[$i] > $key) {
$max[] = $arr[$i];
} else {
$min[] = $arr[$i];
}
}
$min = count($min) > 0 ? sort_quick($min) : $min;
$max = count($max) > 0 ? sort_quick($max) : $max;
return array_merge($min, array($key), $max);
} else {
return $arr;
}
}
echo '<pre>';
$arr = range(1, 20);
shuffle($arr);
echo 'ORG : '.out_arr($arr);
$ret = sort_quick($arr);
echo 'RET : '.out_arr($ret);
echo '</pre>';
```
php 快速 排序 实现 算法 Quick Sort