简单选择排序算法
简单选择排序算法:即通过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;
}
输出结果如下所示:
扫码获取更多相关内容: