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

int findSmallestRemainingElement (int array[], int size, int index)
{
    return min_element(array+index, array+size) - array;
}

void swap (int array[], int first_index, int second_index)
{
    swap(array[first_index], array[second_index]);
}

void sort (int array[], int size)
{
    for ( int i = 0; i < size; i++ )
    {
        int index = findSmallestRemainingElement( array, size, i );
        swap( array, i, index );
    }
}

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