原理:从序列中先找到最小(大)的,然后放到第一个位置。之后再看剩余元素中最小(大)的,放到第二个位置……以此类推,就可以完成整个的排序工作了。
public class Selection{
public static void sort(int[] a)
{
int len = a.length;
for (int i = 0; i < len; i++)
{
int min = i;
for (int j = i+1; j < len; j++)
{
// 如果后面的元素比之前的小,那么就交换下标,每一趟都会选择出剩余部分最小值的下标
if (a[j]<a[min])
min = j;
}
int temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
}