#include <iostream>
#include <iomanip>
#include <set>
#include <functional>

using namespace std;


int main(int argc, const char * argv[])
{
    int a[10] = { 8,2,4,9,1,3,7,5,6,0 };

    set<int*,function<bool(int*,int*)>> s([](int*a,int*b){ return *a < *b; });
    for(int i = 0; i < 10; ++i)
        s.insert(&a[i]);
    for(auto p: s) cout << *p << endl;

}
