算法导论2.2-2selection-sort(选择排序)
来源:互联网 发布:淘宝联盟pc客户端 编辑:程序博客网 时间:2024/05/21 07:48
问题描述
考虑对数组中的n个数进行排序的问题,首先找出n个数中的最小元素,并将其与A[1]中的元素进行互换,接着找出A中的次最小元素,与A[2],中的元素进行互换,对A中的头n-1个元素进行这个过程
public static void main(String[] args) { int[] s = {3, 2, 4, 5, 7, 6, 1}; sort(s); print(s); } private static void print(int[] s){ for (int i = 0; i < s.length; i++) { if(i == 0){ System.out.print("{"); } System.out.print(s[i]); if(i < s.length -1){ System.out.print(","); } if(i == s.length -1){ System.out.print("}\n"); } } } private static int[] sort(int[] s){ for (int j = 0; j < s.length-1; j++) { int min = s[j]; int po = j; for (int i = j; i < s.length; i++) { if(s[i] < min ){ po = i; } } s[j] = s[po]; s[po] = min; } return s; }
执行过程
- 找到数组中的最小值,与第一个位置互换,1,2,4,5,7,6,3
- 找到s[2…n]中的最小值,与第二个互换位置,1,2,4,5,7,6,3
- 依次类推
- 直到s[n-1,n]排完,只剩一个数无需再排,所以输出数组
注意事项
- 只需排序n-1次即可
- 当找到最小值的时候只需记录下下标即可,减省运行时间
- 最后替换位置,
- min用于记录最小值和初始值
0 0
- 算法导论2.2-2selection-sort(选择排序)
- 算法--选择排序 Selection Sort
- 经典排序算法 - 选择排序Selection sort
- 经典排序算法 - 选择排序Selection sort
- 经典排序算法 - 选择排序Selection sort
- 排序算法-选择排序 Selection Sort
- 经典排序算法 - 选择排序Selection sort
- 排序算法---选择排序(Selection Sort)
- 选择排序(selection sort)算法实现
- 选择排序算法——Selection Sort
- 选择排序(selection sort)算法实现
- 选择排序算法(Selection Sort)
- 选择排序(selection sort)
- 选择排序(Selection Sort)
- selection sort 选择排序
- 选择排序 Selection Sort
- 选择排序(Selection Sort)
- 选择排序(Selection Sort)
- UITableView-FDTemplateLayoutCell 与Masonry 一起解决不定高度的cell
- Redis搭建(三)
- RXjava基本操作符
- 大型网站技术架构(二):架构体系的技术介绍
- Material和Shader是什么,两者有什么关系?
- 算法导论2.2-2selection-sort(选择排序)
- c++中Cstring和int相互转换
- wchar_t123
- 使用Ubuntu虚拟机下的hgfs文件夹和Windows主机共享
- oracle入门很简单:一、oracle数据库的安装
- 移动端JQ插件hammer使用详解
- 自定义View绘制文字居中显示
- hbase学习
- 各种排序算法的深入分析及java实现