算法步骤:

1. 初始状态:整个数组分为已排序部分(空)和未排序部分(整个数组)
2. 在未排序序列中找到最小元素,存放到排序序列的起始位置
3. 从剩余未排序元素中继续寻找最小元素,放到已排序序列的末尾
4. 重复第二步,直到所有元素均排序完毕

代码实现:

运行结果:

选择排序的优缺点:
 
- 优点:逻辑简单,代码好写;交换次数少(最多  n-1  次),如果数据“交换成本高”(比如数据很大),比冒泡排序好。
- 缺点:效率低,时间复杂度是  O(n²) (双层循环),数据量大时不适用(比如排序10万个数字,会很慢)。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐