java实现选择排序算法
来源:互联网 发布:千牛mac电脑版 编辑:程序博客网 时间:2024/05/24 05:46
1.选择排序的思想
主要思想就是不断地从数组中找到最小或最大的元素,然后开始和排序的位置对应的元素交换即可,直到全部都已经落位。简述:首先找到数组中最小的那个元素,然后将它和数组的第一个元素交换位置(如果这个元素其实就是自己本身的话,那么就和自己本身进行交换)。然后在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此进行下去,直到将整个数组都排序,就是选择排序的过程了。
2.选择排序的特点
<1>运行时间和输入无关
<2>数据移动是最少的:每次只是交换数组中的两个值,所以交换次数和数组的大小是线性关系。
3.选择排序的实现
由于需要遍历数组进而挑选出需要交换的最小元素,所以肯定需要循环。由于第一次选择了一个最小的元素放在第一个位置,那么第二个位置放第二小的元素,而此时的循环遍历只需遍历剩下的arr.length-1个元素了。以此类推可得到其实一次交换会进行N-i-1次比较。总共N次交换,那么(N-1)+(N-2)+..........+2+1 =N(N-1)/2 ~N^2/2次比较。而内部则是简单的交换。
public class SelectiveSort {public static void sort(double[] arr){for(int i=0;i<arr.length;i++){int min=i;for(int j=i+1;j<arr.length;j++){if(arr[j]<arr[min]){min=j;}}if(arr[i]>arr[min]){double temp=arr[min];arr[min]=arr[i];arr[i]=temp;}}}public static void main(String[] args) {double[] arr={1,2,3,4,656,67,67,7,5,43};sort(arr);for(int i=0;i<arr.length;i++){System.out.print(arr[i]+" ");}}}结果:
解释:从上述程序及思想可以看出,选择排序就是遍历通过比较找到最小元素的位置进行记录,再将最小元素与对应位置的元素进行交换。
0 0
- Java实现选择排序算法
- java实现选择排序算法
- java实现选择排序算法
- java实现选择排序算法
- java选择排序算法实现
- 【排序算法】简单选择排序(java实现)
- 选择排序-初级排序算法-Java实现
- #.java实现排序算法:插入排序、选择排序、冒泡排序
- 选择排序算法的JAVA实现
- 选择排序算法的JAVA实现
- 选择排序算法的JAVA实现
- 选择排序算法的JAVA实现
- 选择排序算法的JAVA实现
- 选择排序算法实现(Java)
- 选择排序算法的JAVA实现 .
- java实现简单选择排序算法
- 选择排序算法(java实现)
- java实现冒泡、选择、快速排序算法
- Ext4使用总结(五)布局的调试
- Ext4使用总结(六)树的动态加载,分支的刷新
- 混乱到清晰-重构之拆离
- 程序员如何有效地做到纵向管理,减少压力
- 重构时避免方向性错误
- java实现选择排序算法
- Ext4的MVC结构如何抽取公用组件
- ThoughtWorks TDD open-workshop第三次参加个人总结
- struts1的处理流程 和配置文件详解
- 追求卓越的设备维修策略
- Ext4使用总结(七) Ext4使用view做图片的横向显示
- Ext4使用总结(八) Ext4使用Ext.view.View 做菜单的灵活布局
- 从心理学和传统文化角度来初步理解个体与环境
- 参加第十三届BQConf大会有感