基本思想
在要排序的一组数中,选出最小(或者最大)的一个数与第一个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,知道n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。
private static void SelectSort(int [] arr)
{
int key, temp;
for (int i = 0; i < arr.Length; i++)
{
key = SelectMin(arr, i);
if (key != i)
{
temp = arr[i];
arr[i] = arr[key];
arr[key] = temp;
}
}
}
private static int SelectMin(int [] arr,int i)
{
int k = i;
for (int j = i+1; j < arr.Length; j++)
{
if (arr[k] > arr[j]) k = j;
}
return k;
}