简单选择排序算法

Posted 码码小虫

tags:

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

简单选择排序算法

简单选择排序就是法:即通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换。

排序过程如下所示:

具体实现算法如下:

void SimpleSelectionSort(int *array,int arrayLength){    
   //将当前下标定义为最小值的下标    int min;    
   for(auto i=0;i<arrayLength-1;i++){        min=i;        
       for(auto j=i+1;j<attayLength;j++){        
       //如果有小于当前最小值的关键字,将关键字的下标赋值给min            if (array[min]>array[j]){                min=j;            }        }        
       //如果min不等于i的值,说明找到了最小值,进行交换        if (i!=min){            
           auto temp=array[i];            
           array[i]=array[min];            
           array[j]=temp;        }    } }

主函数中的测试代码如下所示:

int main(){    
   //int array[] = { 30,10,2,5,60,80,0 };    int array[]={ 90,100,30,50,1,5,9,3,2,70,40,30,50 };    
   //计算数组的长度    int lengths=sizeof(array)/sizeof(array[0]);    
   //使用简单排序算法对数组排序    SimpleSelectionSort(array,lengths);      
   for(auto i=0;i<lengths;i++){        
       cout<<array[i]<<endl;    }    
   return 0; }

输出如下所示:

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

选择排序算法

Java最简单选择排序算法

简单的选择排序算法实现代码

排序算法

排序算法系列1--简单排序(选择,冒泡,直接插入)

排序算法之简单选择排序