[数据结构和算法]选择排序
2017-03-15 22:36
260 查看
1概述
2图解
3java代码
2图解
3java代码
1、概述:
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。2、图解:
3、java代码:
package SelectionSort; public class SelectionSort { //排序方法 public static void sort(Comparable[] a) { int N = a.length;//获取数组长度 for (int i = 0; i < N; i++) { int min = i; //以下for循环找出最小元素下标 for (int j = i + 1; j < N; j++) { if(less(a[j], a[min])) min = j; } //把最小元素移动到放在已排好序的数列的最后 exch(a, i, min); } } public static boolean less(Comparable c1, Comparable c2) { return c1.compareTo(c2) < 0; } public static void exch(Comparable[] c, int i, int j) { Comparable tmp = c[i]; c[i] = c[j]; c[j] = tmp; } public static void main(String[] args) { // TODO Auto-generated method stub Integer[] a = {12,23,9,24,15,3,18}; System.out.println("未排序数据:"); for(Integer t : a) System.out.println(t); sort(a); System.out.println("已排序数据:"); for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } } }
相关文章推荐
- 一步步学习数据结构和算法之选择排序效率分析及java实现
- PHP数据结构基本算法一:矩阵转置 求素数 冒泡排序 选择排序
- 数据结构和算法分析之排序算法--选择排序(堆排序)
- 【数据结构和算法那些事】--【2】--选择排序
- 【数据结构】算法10.9 选择排序-简单选择排序
- 算法与数据结构---选择排序
- 【算法和数据结构】—— 1.选择排序、插入排序
- Python实现各类数据结构和算法---直接选择排序
- 经典算法与数据结构的c++实现——直接选择排序
- 数据结构和算法-003 数组排序 选择排序
- 数据结构与算法_选择排序
- 数据结构&算法实践—【排序|选择排序】堆排序
- 算法和数据结构-选择排序、插入排序及希尔排序 java实现
- 【数据结构和算法】排序算法之二:选择排序和堆排序
- 数据结构与算法——冒泡排序,选择排序,直接插入排序
- [算法与数据结构] - No.4 选择排序
- 【算法和数据结构】排序(二)选择排序(C++实现)
- 【数据结构和算法】排序算法之二:选择排序和堆排序
- OC学习之道:数据结构中几种常见的排序算法:选择排序,插入排序.快速排序
- 数据结构与算法——三种基础排序算法C#实现(冒泡排序、选择排序、插入排序)