发布时间:2020/11/20 作者:天马行空 阅读(1208)
选择排序,是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。
算法步骤
1、假如数组有n个值,那么就进行n-1轮筛选,每轮都筛选出最小(大)值;
2、筛选出来的值放在每轮的开头;
3、下一轮就往后面移一个位置开始。
动图演示
代码实现:
public function selectSort($arr) { $length = count($arr); for ($i = 0; $i < $length - 1; $i ++) { // 进行$length-1轮筛选,每轮筛选出 $minIndex = $i; for ($j = $i + 1; $j < $length; $j ++) { if ($arr[$j] < $arr[$minIndex]) { $minIndex = $j; } } if ($minIndex != $i) { $tmp = $arr[$i]; $arr[$i] = $arr[$minIndex]; $arr[$minIndex] = $tmp; } } return $arr; }