#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

template<typename Iter>
void select_sort (Iter beg, Iter end)
{
    for(Iter i = beg; i != end; ++i)
        iter_swap(i, min_element(i, end));
}

int main()
{
    int arr[10] = {5,3,0,-10,3,1,7,0,3,-1};
    select_sort(arr, arr+10);
    for(int n=0; n < 10; ++n)
        std::cout << arr[n] << ' ';
    std::cout << '\n';

    vector<int> vec = {5,3,0,-10,3,1,7,0,3,-1};
    select_sort(vec.begin(), vec.end());
    for(size_t n=0; n < vec.size(); ++n)
        std::cout << vec[n] << ' ';
    std::cout << '\n';
}
