码迷,mamicode.com
首页 > 编程语言 > 详细

php排序算法 - 选择排序

时间:2021-07-12 18:06:27      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:数据   最小   比较   param   排序算法   一个   循环   fun   复杂度   

选择排序:

数据较少时可以用,缺点:时间复杂度n的平方,优点:空间复杂度小
具体实现:

   /**
     * 选择排序
     *
     * @param $array
     * @return mixed
     */
    public function sort($array)
    {
        $len = count($array);
        if ($len === 1) {
            return $array;
        }

        // 循环,假设第一个为最小的,依次和旁边的比较,比较完成就排好序
        for ($i = 0; $i < $len - 1; $i++) {
            $min = $i;
            for ($k = $i + 1; $k < $len; $k++) {
                // 当前的值和已知的最小的比较,如果当前值小于最小的值,则当前值为最小值
                if ($array[$k] < $array[$min]) {
                    $min = $k;
                }
            }

            if ($i !== $min) {
                $tmp = $array[$min];
                $array[$min] = $array[$i];
                $array[$i] = $tmp;
            }
        }

        return $array;
    }

php排序算法 - 选择排序

标签:数据   最小   比较   param   排序算法   一个   循环   fun   复杂度   

原文地址:https://www.cnblogs.com/alisleepy/p/14998773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!