算法原理
每一次从待排序的数据元素中选出最小或最大的一个元素,存放到序列的起始位置,直到全部待排序的数据元素排完。
代码实现
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;//无序区最小数据数组下标
for (int j = i + 1; j < unsortedArray.length; j++) {
if (unsortedArray[j] < unsortedArray[minIndex]) {
minIndex = j;
}
}
//将最小元素放到本次循环的前端
temp = unsortedArray[minIndex];
unsortedArray[minIndex] = unsortedArray[i];
unsortedArray[i] = temp;
}
System.out.println(Arrays.toString(unsortedArray));
}
}
网友评论