/**
* 选择排序
* @param array $arr
* @return array
*/
function mySelectSort(array $arr): array
{
$len = count($arr);
for ($i = 0; $i < $len; $i++) {
//选择第一个作为最小值
$min = $arr[$i];
for ($k = $i + 1; $k < $len; $k++) {
//两个两个比较,确定最小值
if ($arr[$k] < $min) {
$arr[$i] = $arr[$k];
$arr[$k] = $min;
$min = $arr[$i];
}
}
}
return $arr;
}
$arr = [];
for ($i = 0; $i < 10; $i++) {
$arr[] = rand(1, 100);
}
$res = mySelectSort($arr);
var_export($res);
PS:选择排序的方法是每次循环先选择一个最小值放在选择的位置上
网友评论