选择排序基本思想
第一步:选择找到数组中最大值,并且记录最大值的下标maxIndex,将最大值和数组最后一个值交换,即swap(a[maxIndex],a[n-1])
第二步:在剩下的待排序数组中,重新找到最大值,重复第一步骤,swap(a[maxIndex],a[n-2]);循环操作,直到数组有序为止
选择排序代码:
void selectSort(vector<int> &vec)
{
int maxIndex = 0;
int n = vec.size();
for(int i = n;i>0;i--)
{
for(int j = 1;j<i;j++)
{
if(vec[maxIndex]<vec[j])
{
maxIndex = j;
}
}
swap(vec[maxIndex],vec[i-1]);
}
}