直接选择排序

直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R{1}~R[n-1]中选取最小值,与R[1]交换,....,

第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换,.....,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列.

//直接选择排序  
void sort(int array[],int size)
{  
  int small;  
  for(int i=0; i < size - 1; i++)
  {  
    //将i假设为最小的  
    small = i;  
    //从i+1开始遍历,找到最小的但是比i大的数的下标  
    for(int j=i+1; j<size; j++)
    {  
      if(array[j]<array[small])
      {  
        small = j;  
      }  
    } 

    //将i和找到的最小的数交换  
    int temp = array[i];  
    array[i] = array[small];  
    array[small] = temp;    
  }  
}
原文地址:https://www.cnblogs.com/happykoukou/p/5521063.html