请介绍一下选择排序法的原理和步骤?
时间: 2024-01-02 22:21:09 浏览: 22
选择排序法是一种简单直观的排序算法,其基本思想是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。其具体步骤如下:
1. 首先在未排序的序列中找到最小元素,存放到排序序列的起始位置;
2. 接着,再从剩余未排序的元素中继续寻找最小元素,然后放到已排序序列的末尾;
3. 重复第二步,直到所有元素均排序完毕。
以下是一个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) {
$temp = $arr[$i];
$arr[$i] = $arr[$minIndex];
$arr[$minIndex] = $temp;
}
}
return $arr;
}
$arr = array(64, 25, 12, 22, 11);
echo "排序前:";
print_r($arr);
echo "<br>排序后:";
print_r(selectionSort($arr));
```