简单选择排序算法就是通过n-i次关键字间的比较,从n-i+1个记录选出关键字最小的记录,并和第i(1<=i<=n)个记录交换。
代码如下:
void swap(vector<int> &L, int i, int j)
{
int tmp = L[i];
L[i] = L[j];
L[j] = tmp;
}
void SelectSort(vector<int> &arr)
{
int min;
auto len = arr.size();
for (int i = 0; i < len-1; i++)
{
min = i;
for (int j = i + 1; j < len; j++)
{
if (arr[min]>arr[j])
{
min = j;
}
}
if (i != min)
{
swap(arr, i, min);
}
}
}
int main()
{
vector<int> vec={7,8,9,4,5,6,1,2,3,0};
//vector<int> vec = {55,48,96,12,53,67,5,47,68,24};
SelectSort(vec);
for (int i = 0; i < vec.size(); i++)
{
cout << vec[i] << " ";
}
system("pause");
return 0;
}
结果如下: