原理:
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
重复第二步,直到所有元素均排序完毕。
再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
重复第二步,直到所有元素均排序完毕。
public function selection ($arr) {
for ($i=0; $i<count($arr)-1; $i++) {
$minIndex = $i;
for ($j=$i+1; $j<count($arr); $j++) {
if($arr[$j] < $arr[$minIndex])
{
$minIndex = $j;
}
}
if($minIndex != $i)
{
$tmp = $arr[$i];
$arr[$i] = $arr[$minIndex];
$arr[$minIndex] = $tmp;
}
}
return $arr;
}