选择排序Selection Sort的PHP实现,安全按照算法所写。
同一排序算法下,需要趟数最多的数列是什么数列呢?思考中。
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。
<pre class="brush:php;"> function out_arr($arr) {
return implode(', ', $arr).'
';
}
function sort_selection($arr) {
for ($i = 0; $i < count($arr) - 1; $i++ ) {
$min_index = $i;
for($j = $i+1; $j < count($arr); $j++ ) {
if( $arr[$j] < $arr[$min_index] ) {
$min_index = $j;
}
}
if( $min_index != $i ) {
$tmp = $arr[$min_index];
$arr[$min_index] = $arr[$i];
$arr[$i] = $tmp;
}
echo sprintf('=', $i).' : '.out_arr($arr);
}
}
echo '<pre>';
$arr = range(20, 1);
shuffle($arr);
echo 'ORG : '.out_arr($arr);
sort_selection($arr);
echo '</pre>';
```
选择 排序 php Selection Sort