選擇排序
選擇排序(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]);
}
}