PHP选择排序
2019-06-11 本文已影响0人
程序小白菜
/**
* @param array $arr
* @return array
*/
function selectionSort(array $arr) {
$len = count($arr);
if (!$len) {
return [];
}
for ($i = 0; $i < $len; $i ++ ) {
$minIndex = $i;
for($j = $i + 1; $j < $len; $j++) {
$minIndex = $arr[$j] < $arr[$minIndex] ? $j : $minIndex;
}
swap($arr, $i, $minIndex);
}
return $arr;
}
/**
* @param array $arr
* @param string $first
* @param string $second
*/
function swap(array &$arr, $first, $second) {
$temp = $arr[$first];
$arr[$first] = $arr[$second];
$arr[$second] = $arr[$first];
}