算法原理
每一次從待排序的數(shù)據(jù)元素中選出最小或最大的一個(gè)元素亏狰,存放到序列的起始位置,直到全部待排序的數(shù)據(jù)元素排完偶摔。
代碼實(shí)現(xiàn)
import java.util.Arrays;
public class SelectionSort {
public static void main(String[] args) {
Integer[] unsortedArray = {1, 2, 3, 5, 4, 6, 9, 8, 7, 10};
int minIndex = 0;
int temp = 0;
for (int i = 0; i < unsortedArray.length - 1; i++) {
minIndex = i;//無序區(qū)最小數(shù)據(jù)數(shù)組下標(biāo)
for (int j = i + 1; j < unsortedArray.length; j++) {
if (unsortedArray[j] < unsortedArray[minIndex]) {
minIndex = j;
}
}
//將最小元素放到本次循環(huán)的前端
temp = unsortedArray[minIndex];
unsortedArray[minIndex] = unsortedArray[i];
unsortedArray[i] = temp;
}
System.out.println(Arrays.toString(unsortedArray));
}
}
運(yùn)行結(jié)果
image.png