【C# 排序】简单选择排序
概览
定义
选择排序:每一趟在待排序元素中选取关键字最小(或最大)的元素, 和首个待排序元素的做交换。
适用范围
适用性:既可以用于顺序表,也可用开链表
时间和空间复杂度
时间复杂度:O(N)
空间复杂度:O(1)
稳定性
简单选择排序是不稳定的
算法执行步骤
第一趟:从左往右扫描找出最小元素,和第一元素做交换。
第二趟、第一元素就不用扫描了,再剩下的部分找出最小元素27和38交换位置
第三趟:同上
。。。。。。。。。。。。。。。。。。。。。
C#代码
public static void StraightSelectSort(int[] aa) { int min ,j,it; for (int spilt = 0 ; spilt < aa.Length - 1; ++spilt) { //选出最小的 for ( min=j= spilt; j < aa.Length-1; ++j ) { if ( j+1 < aa.Length - 1 && aa[j+1] < aa[min]) { min = j+1; } } //选择出做小值,和第一个值做交换 it = aa[spilt]; aa[spilt] = aa[min]; aa[min] = it; } }
编程是个人爱好
分类:
C# 数据结构与算法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南