选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
package wck.sort;
/**
* Created on 18/9/7.
*/
/**
* @program: demo
* @description: 选择排序
* @author: wck
* @create: 2018-09-07 15:19
**/
public class SelectSort {
//选择排序
final static int[] a = {6,5,4,3,2,1};
static void sort(int[] 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;
switchs(a,i,min);
}
}
}
//交换值
static void switchs(int[] a,int i,int min){
int s = a[i];
a[i] =a[min];
a[min] = s;
}
public static void main(String[] args) {
sort(a);
for (int j=0;j<a.length;j++)
System.out.println(a[j]);
}
}