直接选择排序

Posted ~小小鸟~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了直接选择排序相关的知识,希望对你有一定的参考价值。

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

 

以上是关于直接选择排序的主要内容,如果未能解决你的问题,请参考以下文章

直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚

C# 各种内部排序方法的实现(直接插入排序希尔排序冒泡排序快速排序直接选择排序堆排序归并排序基数排序)

C# 各种内部排序方法的实现(直接插入排序希尔排序冒泡排序快速排序直接选择排序堆排序归并排序基数排序)

Js选择排序的问题。我这段代码,为何实现不了。

快速排序/快速选择算法

直接选择排序