$arr=[12,34,56,78,123,89]; 使用简单选择排序 注意使用函数
时间: 2023-08-26 16:03:39 浏览: 51
好的,以下是使用简单选择排序对数组$arr=[12,34,56,78,123,89];$进行升序排序的 PHP 代码:
```php
function selectionSort($arr){
$len=count($arr);
for($i=0;$i<$len-1;$i++){
$minIndex=$i;
for($j=$i+1;$j<$len;$j++){
if($arr[$j]<$arr[$minIndex]){
$minIndex=$j;
}
}
if($minIndex!=$i){
$tmp=$arr[$i];
$arr[$i]=$arr[$minIndex];
$arr[$minIndex]=$tmp;
}
}
return $arr;
}
$arr=[12,34,56,78,123,89];
$result=selectionSort($arr);
print_r($result);
```
输出结果为:
```
Array
(
[0] => 12
[1] => 34
[2] => 56
[3] => 78
[4] => 89
[5] => 123
)
```
其中,$selectionSort($arr)$函数实现了简单选择排序算法。在循环中,$minIndex$表示当前未排序部分中最小元素的索引。每次内层循环中,如果找到更小的元素,则更新$minIndex$。外层循环中,如果$minIndex$不等于$i$,则将最小元素与第$i$个元素交换。最终返回排序后的数组。