#include <iostream>
#include <set>

int main( ) {
   std::set<int> conjunto;
   conjunto.insert(5);
   conjunto.insert(7);
   conjunto.insert(2);
   conjunto.insert(8);
   conjunto.insert(7);     // no se insertará (ya hay un 7)
   conjunto.insert(9);
   conjunto.insert(1);

   std::cout << conjunto.size( ) << " elementos \n";
   for (int i = 0; i <= 10; ++i) {
      std::cout << i << ": " << conjunto.contains(i) << "\n";
   }

   conjunto.erase(7);

   std::cout << conjunto.size( ) << " elementos \n";
   for (int i = 0; i <= 10; ++i) {
      std::cout << i << ": " << conjunto.contains(i) << "\n";
   }

   std::cout << "------\n";
   for (auto iter = conjunto.begin( ); iter != conjunto.end( ); ++iter) {        // Tree sort: meter los elementos en un árbol binario de búsqueda y luego iterar de manera ordenada
      std::cout << *iter << " ";
   }
}
