美文网首页
PHP - 选择排序

PHP - 选择排序

作者: 欢喜的看着书 | 来源:发表于2019-07-23 14:17 被阅读0次
     //选择排序
        //选择排序 思路:每次选择一个相应的元素,然后将其放到指定的位置
        protected function selectSort($arr)
        {
            // 实现思路
            // 双重循环完成,外层控制轮数,假设当前的最小值,内层控制比较次数
    
            // 获取长度
            $length = count($arr);
    
            for ($i = 0; $i < $length - 1; $i++) {
                // 假设最小值的位置
                $p = $i;
    
                // 使用假设的最小值和其他值比较,找到当前的最小值
                for ($j = $i + 1; $j < $length; $j++) {
                    // $arr[$p] 是已知的当前最小值
    
                    // 判断当前循环值和已知最小值的比较,当发现更小的值时记录下键,并进行下一次比较
                    if ($arr[$p] > $arr[$j]) {
                        $p = $j; // 比假设的值更小
                    }
                }
    
                // 通过内部for循环找到了当前最小值的key,并保存在$p中
                // 判断 当前$p 中的键和假设的最小值的键不一致,将其互换
                if ($p != $i) {
                    $tmp = $arr[$p];
                    $arr[$p] = $arr[$i];
                    $arr[$i] = $tmp;
                }
            }
            // 返回最终结果
            return $arr;
        }
    

    相关文章

      网友评论

          本文标题:PHP - 选择排序

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