选择排序

  基本思想

  在要排序的一组数中,选出最小(或者最大)的一个数与第一个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第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;
}

posted @ 2017-03-02 10:07  ......正在输入中  阅读(100)  评论(0编辑  收藏  举报