【算法】选择排序算法的解说和代码实践

源码 2024-10-8 12:09:20 126 0 来自 中国
思绪

选择排序,顾名思义,就是每次选出一个最小或最大的数,移动位置,直到整个数组完成排序。
有数组[26, -3, 14, -15, 0, 324, 98, 1, 22]
现对该数组举行排序,使用选择排序算法。
先来屡一下思绪和步调:

  • 选出整个数组最小的数,记录它的下标;
  • 将它和未排序的最左边数组举行互换(互换过就是排序了);
  • 直至整个数组排序完成。
解说

起首声明出待排序下标、最小值和最小下标。最小值我们使用Integer.MAX_VALUE,来确保数组中肯定有值可以或许被排序:

1.png
然后通过遍历,找到从待排序下标开始最小的数,记录它的下标:

然后把记录的下标和待排序下标的两个元素举行互换:

这就完成了第一个数字的排序,然后把待排序下标加一,继承探求下一个最小的数,以此类推即可:

实现
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-21 23:53, Processed in 0.200203 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表