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