快速排序的PHP实现 Quick Sort

2011-01-14 阅读 50

快速排序(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

更新于 2023年03月28日