PHP实现-选择排序 Selection Sort
2018-01-12 本文已影响5人
保儿洁
代码
# 待排序数据
$arr=array(1,43,54,62,21,66,32,78,36,76,39);
function selectionSort($arr){
$len = count($arr);
$result = [];
for ($i=0;$i<$len;$i++){
#默认认为当前为最小
$min = $i;
for($j=$i+1;$j<$len;$j++){
# 待对比数据 对比 后面所有数据
if($arr[$min]>$arr[$j]){
$min = $j;
}
}
if($min!=$i){
#如果最小值不是默认数,则对调位置
$tmp = $arr[$min];
$arr[$min] = $arr[$i];
$arr[$i] = $tmp;
}
}
return $arr;
}
Out
array(11) {
[0]=>
int(1)
[1]=>
int(21)
[2]=>
int(32)
[3]=>
int(36)
[4]=>
int(39)
[5]=>
int(43)
[6]=>
int(54)
[7]=>
int(62)
[8]=>
int(66)
[9]=>
int(76)
[10]=>
int(78)
}