美文网首页
算法学习之选择排序

算法学习之选择排序

作者: 寒云暮雨 | 来源:发表于2018-09-04 09:59 被阅读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:选择排序的方法是每次循环先选择一个最小值放在选择的位置上

相关文章

  • 算法学习笔记 - Alogrithm Fourth Editio

    算法学习笔记 - Alogrithm Fourth Edition 排序算法 选择排序(Selection) 如果...

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 3.1-选择排序-简单选择排序

    参考链接 选择排序:简单选择排序(Simple Selection Sort) 白话经典算法系列之四 直接选择排序...

  • 算法理解之排序-选择排序

    算法理解之排序-选择排序 选择排序是一种简单直观的排序算法, 以当前点为锚点, 向后依次进行比较所有未排序元素, ...

  • 2020-04-30-排序算法

    冒泡排序 直接选择排序 插入排序 快速排序 参考 算法学习笔记17-经典排序算法八大排序算法稳定性分析

  • 算法入门——冒泡排序、选择排序

    上篇文章学习了算法入门——顺序查找、二分查找,这篇文章我们学习算法入门——冒泡排序、选择排序。 冒泡排序 冒泡排序...

  • 算法4:插入排序和选择排序算法的比较

    排序算法列表电梯: 选择排序算法:详见 《算法4》2.1 - 选择排序算法(Selection Sort), Py...

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

  • 算法入门——插入排序、快速排序

    上篇文章学习了算法入门——冒泡排序、选择排序,这篇文章我们学习算法入门——插入排序。 插入排序 插入排序是在一组列...

  • 算法——初级排序算法

    最近,在通过《算法4》这本书来重新学习一下算法,从最初级的排序算法。初级的排序算法有3种:选择排序、插入排序、希尔...

网友评论

      本文标题:算法学习之选择排序

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