class="php" name="code">/** * 选择排序 循环遍历 每次选择最小的 * * @param Array $arr */ function select_sort($arr, $tmp_arr = []) { $count = count($arr); if ($count < 1) return $arr; $tmp = $arr[0]; $key = 0; for ($i = 1; $i < $count; $i ++) { if ($tmp >= $arr[$i]) { $tmp = $arr[$i]; $key = $i; } } unset($arr[$key]); $arr = array_values($arr); $_arr = array_merge($tmp_arr, [ $tmp ]); $tmp_arr = select_sort($arr, $_arr); return array_merge([ $tmp ], $tmp_arr); }
?