选择排序的php实现 Selection Sort

2011-01-12 阅读 48

选择排序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

更新于 2023年03月28日