首页 > 编程语言 > 详细

直接选择排序

时间:2016-05-23 20:51:29      阅读:283      评论:0      收藏:0      [点我收藏+]

直接选择排序(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;    
  }  
}

 

直接选择排序

原文:http://www.cnblogs.com/happykoukou/p/5521063.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!