选择排序
1、选择排序思想:每次遍历数组,找到数组的最小值,放到对应位置。即,一次排序确定一个元素的位置,直至所有元素位置确定为止。
2、代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public void selectionSort( int [] arr) { //外层循环控制排序次数 for ( int i = 0 ; i < arr.length; i++) { //内层进行比较,每次循环找到一个最小值放到对应位置 int index = i; for ( int j = i; j < arr.length; j++) { //找到最小元素所在的索引 index = arr[j] < arr[index] ? j : index; } //将这一趟遍历的最小值放到对应位置 int temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; } } |
3、时间和空间复杂度
时间复杂度:O(n^2)
空间复杂度:O(1)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)