美文网首页程序员的成长之道
PHP实现选择排序算法

PHP实现选择排序算法

作者: 菜菜菜鸟羊 | 来源:发表于2019-09-27 16:47 被阅读0次

    直接上代码

    /**
     * 选择排序
     * 思路:选择数据中最小(最大)的数,放到最前面,完成排序
     *
     * @param array $noSortArr  需要排序的数据
     * @return array
     */
    function selectionSort($noSortArr) : array
    {
        $len = count($noSortArr);
        for ($i = 0; $i < $len - 1; $i++) { //循环$len-1,原因:最后一个数就是排序的最后一个,所以就没有必要循环了
            $minIndex = $i;   //标记第$i为最小,也就是默认第一个数为最小
            for ($j = $i + 1; $j < $len; $j++) {  //循环除了第一个数之外的数
                if ($noSortArr[$j] < $noSortArr[$minIndex]) {
                    $minIndex = $j; //如果有比标记的数小的数,则标记这个数为新的最小数,以此类推
                }
            }
            //每轮循环结束后,把最小数放到循环数的开始位置
            $temp = $noSortArr[$i];
            $noSortArr[$i] = $noSortArr[$minIndex];
            $noSortArr[$minIndex] = $temp;
    
        }
    
        return $noSortArr;
    }
    

    -欢迎大家指正和优化,谢谢!

    相关文章

      网友评论

        本文标题:PHP实现选择排序算法

        本文链接:https://www.haomeiwen.com/subject/ujdauctx.html