选择排序-PHP

 // 选择排序 第一个元素和剩余的对比,找出最小的,第二个和其他对比,找出第二小的,一直到最后

$arr = array(4,2,5,1,3);
function selectSort($arr) {
    $len = count($arr);
    for ($i=0; $i<$len; $i++) { // 循环多少次
        $p=$i; // 以当前元素为基准
        for ($k=$i+1; $k<$len; $k++) { // 循环对比,选出此轮最小值的k
            if ($arr[$p] > $arr[$k]) { // 若下一个元素小于当前元素,则更新k
                $p = $k;
            }
        }
        if ($p != $i) { // 若k有变,则更换元素的位置
            $tmp = $arr[$p];
            $arr[$p] = $arr[$i];
            $arr[$i] = $tmp; // 此轮最小值
        }
    }
    return $arr;
}
$res = selectSort($arr);
print_r($res);

Array
(
  [0] => 1
  [1] => 2
  [2] => 3
  [3] => 4
  [4] => 5
)

原文地址:https://www.cnblogs.com/blue-t/p/14563621.html