排序4. 简单选择排序
//5简单选择排序 时间复杂度 O(n^2) 不稳定->可以稳定化 空间复杂度O(1)
void selectSort(vector<int>& nums)
{
for (int i = 0; i < nums.size() - 1; i++)
{
int temp = i;
for (int j = i + 1; j < nums.size(); j++)
{
// if (nums[temp] < nums[j]) //大到小排序
// temp = j;
if (nums[temp] > nums[j]) //小到大
temp = j;
}
if (temp != i)
swap(nums[i], nums[temp]);
}
}
int main()
{
vector<int> nums{ -1, 6, 5, 3, 3, 4, 9, 1, 10, 15, 16, 11, 33, 77, 21, 99, 111, 7};
// inserSort(nums);
// int dlta[3] = {5, 3, 1};
// ShellSort(nums, dlta, 3);
// BubbleSort(nums);
// QuickSort(nums, 0, nums.size() - 1);
selectSort(nums);
for (auto &x : nums)
cout << x << ", ";
cout << endl;
return 0;
}