算法学习之选择排序

2018-09-04  本文已影响15人  寒云暮雨
image

/**
 * 选择排序
 * @param array $arr
 * @return array
 */
function mySelectSort(array $arr): array
{
    $len = count($arr);
    for ($i = 0; $i < $len; $i++) {
        //选择第一个作为最小值
        $min = $arr[$i];
        for ($k = $i + 1; $k < $len; $k++) {
            //两个两个比较,确定最小值
            if ($arr[$k] < $min) {
                $arr[$i] = $arr[$k];
                $arr[$k] = $min;
                $min = $arr[$i];
            }
        }
    }
    return $arr;
}

$arr = [];
for ($i = 0; $i < 10; $i++) {
    $arr[] = rand(1, 100);
}
$res = mySelectSort($arr);
var_export($res);

PS:选择排序的方法是每次循环先选择一个最小值放在选择的位置上

上一篇 下一篇

猜你喜欢

热点阅读