算法原理
工作原理:首先在未排序的序列中找到最小(最大)元素,存放到排序队列的起始位置,然后,再从剩余元素中继续查找最小(大)元素,放到已排序队列的末尾(即接着往后存放)。以此类推,知道所有元素排列完毕。
如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的序列进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。
示例
Java语言实现
public static void main(String[] args) {
int[] array = {7, 6, 8, 1, 5};
int temp;
for (int i = 0; i < array.length; i++) {
int minIndex = i;
for (int j = i; j < array.length; j++) {
if (array[minIndex] > array[j]) {
minIndex = j;
}
}
temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
for (int a = 0; a < array.length; a++) {
System.out.print(array[a]);
}
}