《排序算法》选择排序
2016-04-12 15:09
274 查看
选择排序是一种最简单的排序算法,其过程如下:
①找到数组中最小的那个元素,将其与数组中第一个元素交换
②再找出剩下的元素中最小的,和第二个元素交换,以此类推,找到将整个数组排序
如下面数组a = { 4, 2, 5, 7, 1, 6, 9 };
第一次找到1为最小的数,将其与第一个元素4交换位置,变为a = { 1, 2, 5, 7, 4, 6, 9 };
然后从2, 5, 7, 4, 6, 9中找到最小元素为2,不用改变位置,以此类推。。
排序过程输出为:
1 2 5 7 4 6 9
1 2 5 7 4 6 9
1 2 4 7 5 6 9
1 2 4 5 7 6 9
1 2 4 5 6 7 9
1 2 4 5 6 7 9
1 2 4 5 6 7 9
①找到数组中最小的那个元素,将其与数组中第一个元素交换
②再找出剩下的元素中最小的,和第二个元素交换,以此类推,找到将整个数组排序
如下面数组a = { 4, 2, 5, 7, 1, 6, 9 };
第一次找到1为最小的数,将其与第一个元素4交换位置,变为a = { 1, 2, 5, 7, 4, 6, 9 };
然后从2, 5, 7, 4, 6, 9中找到最小元素为2,不用改变位置,以此类推。。
public class Selection { static int[] a = { 4, 2, 5, 7, 1, 6, 9 }; public static void main(String[] args) { sort(a); } private static void sort(int[] a2) { for (int i = 0; i < a.length; i++) { int min = i; for (int j = i + 1; j < a.length; j++) { if (a[min] > a[j]) { min = j; } } int temp = a[min]; a[min] = a[i]; a[i] = temp; for (int k = 0; k < a.length; k++) { System.out.print(a[k] + " "); } System.out.println(); } } }
排序过程输出为:
1 2 5 7 4 6 9
1 2 5 7 4 6 9
1 2 4 7 5 6 9
1 2 4 5 7 6 9
1 2 4 5 6 7 9
1 2 4 5 6 7 9
1 2 4 5 6 7 9
相关文章推荐
- HDU 2444 二分图判断+最大匹配
- 2015最流行的android组件、工具、框架大全(前续)
- php生成二维码
- Android开发中一些挺有用的方法
- 【BZOJ 1088 扫雷Mine】模拟
- jquery 对option 操作
- 决策树中ID3、C4.5、CART
- iOS-OC-让tableview滚动到顶部 滚动到底部
- .naturalWidth 和naturalHeight属性,
- 使用canvas实现擦玻璃效果---转载
- html5拖拽
- greenDao 备注
- 浅谈坐标系以及之间的转换
- 【架构】架构漫谈
- 集合之HashMap
- Android学习之程序创建桌面快捷方式
- Apk 签名查看_笔记
- OSSIM 高可用架构
- 【JS】:JS中如何实现对任意区间的取整
- SVN Error : is scheduled for addition, but is missing