JAVA算法实现之选择排序算法
2021/10/12 14:45:20
本文主要是介绍JAVA算法实现之选择排序算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
选择排序算法实现原理:
每一轮从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好的数列最后,直到全部待排序数据元素全部排完
PS:选择排序是一个不稳定的排序方法(相同的两个数可能会颠倒顺序)
手动执行顺序:
31 11 25 53 76 34
将11(数组中的第一个元素作为最小值)
第一轮:11 31 25 53 76 34 (比较5次)
第二轮:11 25 31 53 76 34 (比较4次)
第三轮:11 25 31 53 76 34 (比较3次)
第四轮:11 25 31 34 76 53 (比较2次)
第五轮:11 25 31 34 53 76 (比较1次)
代码实现:
//选择排序算法 public class test2 { public static void main(String[] args) { // 声明一个乱序的数列(待排序) int[] num = {31,11, 25, 53, 76, 34}; // 用于记录每次比较的最小值的下标; int minIndex =0; // 外层循环控制轮数 for (int i=0;i<num.length-1;i++){ // 每一轮设定一个最小值小标; minIndex = i; for (int j=i+1;j<num.length;j++){ if (num[minIndex]>num[j]){ // 记录值更换 minIndex = j; } } // 判断需要交换的数下标是否是自己 if (minIndex!=i){ //此种交换方式可以不用声明中间变量,也可以选择中间变量方式进行数值的交换 num[minIndex] = num[minIndex]+num[i]; num[i] = num[minIndex]-num[i]; num[minIndex] = num[minIndex]-num[i]; } } // 选择排序后对数列进行打印输出 for (int n =0;n<num.length;n++){ System.out.print(num[n] +" "); } } }
输出的结果:
PS:本博客宗旨用于学习,如有代码问题或其他问题可以留言 ,看到后第一时间会进行回复!!!!
这篇关于JAVA算法实现之选择排序算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)