关注我,持续分享逻辑思维&管理思维; 可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;
有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自我介绍》。
-------------------------------------正文----------------------------------------
选择排序:概述
选择排序是一种简单直观的排序算法,它也是一种交换排序算法,和冒泡排序有一定的相似度,可以认为选择排序是冒泡排序的一种改进。
选择排序:算法描述
在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
重复第二步,直到所有元素均排序完毕。
void selectSort(int* arr, int len)
{
for(int i=0;i<len;i++)
{
int minIndex = i;
for(int j=i+1;j<arr.size();j++)
{
if(arr[minIndex]>arr[j])
{
minIndex = j;
}
}
if(minIndex!=i)
{
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex]=temp;
}
}
}