/** * 选择排序 * 原理:第一次,以数组每一个元素,跟后面的n-1个元素对比,记录最小值的下标,然后最小值跟第一个元素交换位置。 * 第二次,以第二个元素和其后面的元素比较,找到最小值,交换位置;以此类推 */function selectSort($arr){ $c = count($arr); for($i = 0; $i < $c-1;$i++){ $min_pos = $i; for ($j=$i+1;$j<$c;$j++) { if($arr[$min_pos] > $arr[$j]){ $min_pos = $j; } } if ($min_pos != $i) { //交换位置 list($arr[$i],$arr[$min_pos]) = [$arr[$min_pos],$arr[$i]]; } } return $arr;}复制代码