Sí, std::set
tiendas de sus elementos, de tal manera que se itera sobre los elementos seran en forma ordenada (y la llamada a std::adjacent_find
es mostrar que std::set
tiendas de artículos únicos, así).
#include <algorithm>
#include <iterator>
#include <ios>
#include <iostream>
#include <set>
#include <string>
int main()
{
auto const ss = std::set<std::string> { "foo", "bar", "test" };
std::cout << std::boolalpha << std::is_sorted(begin(ss), end(ss)) << "\n";
std::cout << std::boolalpha << (std::adjacent_find(begin(ss), end(ss)) == end(ss)) << "\n";
std::copy(begin(ss), end(ss), std::ostream_iterator<std::string>(std::cout, "\n"));
}
Live Example
¿Por qué no implementar 'std :: set' en términos de' std :: unordered_map', que ha amortizado O (1) inserción/búsqueda? –
muy fácil de leer sobre la Fuente, gracias por el enlace. –