核心思想:每次与当前元素后面的最小元素互换位置。
function selectSort($ar){
$length=count($ar);
for ($i=0;$i<$length-1;$i++){
$min=$i;
for ($j=$i+1;$j<$length;$j++){
if ($ar[$j]<$ar[$min]){
$min=$j;
}
}
if ($i!=$min){
$ar=swap($ar,$i,$min);
}
}
return $ar;
}
function swap($ar,$i,$j){
$flag=$ar[$i];
$ar[$i]=$ar[$j];
$ar[$j]=$flag;
return $ar;
}
$ar=array(8,2,1,6,3,7,4,5,);
print_r(selectSort($ar));
时间复杂度:O(n2)