选择排序¶
找到数组中的最小元素,然后将它与数组的第一个元素交换位置。然后再从剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。不断进行这样的操作,直到将整个数组排序。
class Selection
{
public:
vector<int>& sort(vector<int>& array)
{
int len = array.size();
for (int i = 0; i < len; i++)
{
int minindex = i;
//遍历寻找最小元素
for (int j = i + 1; j < len; j++)
{
if (array[j] < array[minindex])
{
minindex = j;
}
}
//交换 第 i 个元素和其后部分的最小元素
int t = array[i];
array[i] = array[minindex];
array[minindex] = t;
}
return array;
}
};