思路是:循环一次队列,找出队列中最小的元素,与队列的第一位进行交换;第二次循环队列,从第二位开始循环,找出队列中最小的元素,与队列第二位进行交换;第三次循环队列,从第三位开始循环,找出队列最小元素,与队列第三位进行交换,以此类推,知道进行到最后一位:
php代码:
<?php
echo '<pre>';
$arr = array(90,5,3,9,2,6,10,30,0,0,0,0,0);
print_r(selectSort($arr));
function selectSort($arr){
for($i=0;$i<count($arr);$i++){//循环队列
$min = $i;//设定开始位
for($j=$i;$j<count($arr);$j++){//从开始位进行循环
if($arr[$min]>$arr[$j]){//找出最小元素所在的位
$min = $j;
}
}
$temp = $arr[$min];//与最小位元素进行交换
$arr[$min] = $arr[$i];
$arr[$i] = $temp;
}
return $arr;
}
?>