排序算法之 - 选择排序
选择排序
选择排序也是重复执行一个动作的流程:从 待排序列表 中查找 最小 的元素,将它与 待排序列表 的 第一个元素进行 交换,交换之后第一个元素进入 已排序列表,除去 第一个元素之后的其他元素组成 下一轮的待排序列表,其初始状态如图:
第一轮运行流程及结果:
第二轮运行流程及结果:
第三轮运行流程及结果:
第四轮运行流程及结果:
第五轮运行流程及结果:
第六轮运行流程及结果:
第七轮运行流程及结果:
第八轮运行流程及结果:
附PHP实现代码:
<?php function selection($arrayNeedsSort) { $length = count($arrayNeedsSort); for ($i = 0; $i < $length - 1; $i++) { $compare = $arrayNeedsSort[$i]; $pos = $i; for ($j = $i + 1; $j < $length; $j++) { if ($compare > $arrayNeedsSort[$j]) { $compare = $arrayNeedsSort[$j]; $pos = $j; } } $tmp = $arrayNeedsSort[$pos]; $arrayNeedsSort[$pos] = $arrayNeedsSort[$i]; $arrayNeedsSort[$i] = $tmp; } return $arrayNeedsSort; } $array = [5, 9, 3, 1, 2, 8, 4, 7, 6]; $res = selection($array); echo '<pre>'; print_r($res); 运行结果: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现