简介:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。
如何理解:如图
以上是i=0的时候,也就是一趟,i要遍历完数组长度
代码:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] array = {27,15,9,18,28};
SelectSort.selectSort(array);
System.out.println(Arrays.toString(array));
}
}
public class SelectSort {
public static void selectSort(int[] array){
for (int i = 0; i < array.length; i++) {
int minIndex = i;
for (int j = i+1; j < array.length; j++) {
if(array[j] < array[minIndex]){
minIndex = j;
}
}
swap(array,i,minIndex);
}
}
private static void swap(int[] array,int i ,int j){
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}