选择排序的思想也是将待排序数据分成两部分,未排序部分和已排序部分。
方法是,每次在未排序序列中找最小,将其放到排序序列尾部。
时间复杂度是n^2,不稳定。
void select_sort(vector<int> input, int n)
{
for (int i = 0; i < n; i++)
{
int k = i;
for (int j = i + 1; j < n; j++)
{
if (input[j] < input[k])
k = j;
}
if (k != i)
swap(input[i],input[k]);
}
}