每天一个小算法之 选择排序算法
来源:互联网 发布:全国书法艺术网络大赛 编辑:程序博客网 时间:2024/05/22 10:41
选择排序算法在每一步中选取最小值来重新排列,从而达到排序的目的。
选择排序算法通过选择和交换来实现排序,实现步骤如下:
1.首先从原始数组中选择最小的1个数据,将其和位于第一个位置的数据交换。
2.接着从剩下的 n-1 个数据中选择次小的1个数据,将其和第二个位置的数据交换
3.然后不断重复上述过程,直到最后两个两个数据完成交换。至此便完成了对原始数组从小到大的排序。
示例代码如下:
void selectSort(int[] a) { int index; //交换临时变量 int temp; for (int i = 0; i < a.length - 1; i++) { index = i; for (int j = i + 1; j < a.length; j++) { if (a[j] < a[index]) { index = j; } } //交换两个数 if (index != i) { temp = a[i]; a[i] = a[index]; a[index] = temp; } } //输出排序结果 for (int anA : a) { System.out.print(" " + anA); } }
阅读全文
0 0
- 每天一个小算法之 选择排序算法
- 每天一个小算法 --- 排序
- 每天一个小算法之Shell排序(希尔排序)
- 每天一个排序算法之插入排序
- 每天一种算法--选择排序
- 每天学一点算法-选择排序算法
- 每天一个算法--插入排序
- 一天一个小算法--排序之冒泡
- 算法之选择排序算法
- 算法之选择排序
- 算法之选择排序
- 算法之选择排序
- 算法之选择排序
- 算法之选择排序
- 算法之选择排序
- 算法之选择排序
- 算法之选择排序
- 小算法大世界之冒泡排序VS选择排序
- using关键字在c#中的使用
- MCS-51单片机指令系统“读-改-写”指令
- 快乐树
- Linux——Linux下的tar压缩解压缩命令详解
- bzoj 3142: [Hnoi2013]数列 数学
- 每天一个小算法之 选择排序算法
- 51nod 1185 威佐夫游戏 V2 (博弈+大数乘法模拟)
- 子数组之和
- Android开发学习——显式intent和隐式intent(1)
- sql中limit和count的含义
- 生成网站和发布网站有什么差别
- 计算机的 二 八 十 十六 进制
- ActivityMQ集成到springmvc中
- OSPF动态路由协议的配置命令