排序算法之选择排序的思想以及Java实现
2016-08-15 22:30
585 查看
1 基本思想
选择排序的思想是,每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
2,算法的实现(Java)
得到的结果为:
3 性能分析
选择排序的时间复杂度为O(n^2),由于每次选择仅考虑某一位置上的数据情况,可能会破坏之前数据的相对位置,因此它是一种不稳定的排序方法。
选择排序的思想是,每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
2,算法的实现(Java)
package Algorithm; public class SelectSort { /** * @param args */ public static void main(String[] args) { int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000}; System.out.println("排序之前:"); out_put.output(data); System.out.println(); System.out.println("排序之后:"); SelectSort.select_sort(data); out_put.output(data); } public static void select_sort(int[] arr){ if(arr == null || arr.length < 2){ return; } int index;//定义下标 for(int i=0;i<arr.length;i++){ index = i;//初始下标为i for(int j=i+1;j<arr.length;j++){ if(arr[j]<arr[index]){ index = j; } } if(index != i){ int temp = arr[index]; arr[index] = arr[i]; arr[i] = temp; } } } }
得到的结果为:
3 性能分析
选择排序的时间复杂度为O(n^2),由于每次选择仅考虑某一位置上的数据情况,可能会破坏之前数据的相对位置,因此它是一种不稳定的排序方法。
相关文章推荐
- 排序算法之快速排序的思想以及Java实现
- 排序算法之直接插入排序的思想以及Java实现
- 元素排序几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等
- 排序算法的思想分析以及java实现
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,快速排序
- 排序算法之希尔排序的思想以及Java实现
- 排序算法之冒泡排序、选择排序、直接插入排序(java实现)
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- 排序算法--选择排序(简单选择排序、堆排序)java实现
- 简单选择、冒泡、插入排序思想及Java实现代码
- 基本排序算法java实现之选择排序
- 【排序算法】选择排序原理及Java实现
- 插入排序,选择排序,冒泡排序等常用排序算法(java实现)
- 排序算法复习(Java实现)(二): 插入,冒泡,选择,Shell,快速排序
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- java 排序算法实现 其三:直接选择排序