算法复习--简单选择排序
2023-09-14 09:08:41 时间
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
选择排序不稳定,会导致相同值位置发生改变。
算法步骤:
1)首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
2)再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
3)重复第二步,直到所有元素均排序完毕。
public class SelectionSort { public static void main(String[] args){ int a[] = {50,12,2,15,8,1,17}; System.out.println("排序前:"); for(int i = 0; i < a.length; i++){ System.out.print(a[i] + " "); } //选择排序 for(int i = 0; i < a.length; i++){ int min = a[i]; int n = i; //最小值的索引 //找出最小的值 for(int j = i+1; j < a.length; j++){ if(a[j] < min){ min = a[j]; n = j; } } //将最小的值和第一个值交换位置 a[n] = a[i]; a[i] = min; System.out.println(""); System.out.println("第" + (i+1) + "次排序:"); for(int k = 0; k < a.length; k++){ System.out.print(a[k] + " "); } } } }
相关文章
- (附下载)343页经典书籍《算法之道(第二版)》
- 图解排序算法(三)之堆排序
- C++——随机数算法
- 一文搞懂 | Linux 内核的 4 大 IO 调度算法
- 递归算法原理学习与实践
- 桶排序算法c语言_哪种排序算法最快
- C# md5 算法实现代码的案例分享
- 滑动窗口算法通用思想
- 算法学习之路 | 希尔排序[Php]
- javascript 算法系列之 树 必出精品(1)
- 前端leetcde算法面试套路之双指针
- C语言 | 动图演示十大经典排序算法(含代码)
- Gradio入门到进阶全网最详细教程一:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享)
- 常用排序算法的时间和空间复杂度及算法时间复杂度的简单计算详解程序员
- 经典排序算法:堆排序(Heap Sort)详解编程语言
- list java中List对象通用排序算法详解编程语言
- 排序算法之插入排序详解编程语言
- LVS集群之十种调度算法及负载均衡——理论
- 程序兵法:Java String 源码的排序算法(一)
- 英特尔中国研究院深度学习领域最新成果——“动态外科手术”算法
- Oracle数据库排序算法技巧(oracle排序)
- AI裁员:后疫情时代“打工人”如何与算法共存?
- php数据结构算法(PHP描述)简单选择排序simpleselectionsort
- 海量数据处理系列之:用C++实现Bitmap算法
- JAVA简单选择排序算法原理及实现
- Python实现的几个常用排序算法实例
- PHP简单选择排序算法实例
- 素数判定算法的实现