🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
> 选择排序算法(Selection Sort)是一种简单直观的排序算法个,其原理是在一列数字中,选出最小数放至起始位置,然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。 ``` /** * 选择排序算法 * @param $arr * @return array */ function SelectSort($arr) { for ($i = 0; $i < count($arr) - 1; $i++) { $key = $i; // 当前值的位置 for ($j = $i + 1; $j < count($arr); $j++) { // 逐个比较后面的值 if ($arr[$key] > $arr[$j]) { $key = $j; } } if ($key != $i) { $this->swap($arr, $key, $i); } } return $arr; } /** * 交换函数 * @param array $arr * @param int $a * @param int $b */ function swap(array &$arr, int $a, int $b) { $temp = $arr[$a]; $arr[$a] = $arr[$b]; $arr[$b] = $temp; } ```