Popište algoritmy SelectSort, BubbleSort a InsertSort a jejich časové složitosti. U jednoho z nich diskutujte jeho korektnost a uveďte jeho časovou složitost

SelectSort

Vlastnosti:

Je založen na opakovaném vybírání nejmenšího prvku.

void selectSort(vector<int>& nums) {
        
        for(int i = 0; i < nums.size(); i++)
        {
            int min_pos = i;
            for(int j = i+1; j < nums.size(); j++ )
            {
                if(nums[min_pos] > nums[j])
                    min_pos = j;
                
            }
            swap(nums[i], nums[min_pos]);
        }

    }

BubbleSort

Vlastnosti: