Pregunta

Me gustaría utilizar unordered_set en un proyecto.

Sin embargo, la documentación porque es incompleta o simplemente una referencia técnica, no hay ejemplos.

Puede cualquier persona proporcionar enlaces a recursos en línea que se ocupan de él? Los libros también son bienvenidos, preferiblemente libre. Google searching nada de valor devuelto.

Gracias!

¿Fue útil?

Solución

Hay poca documentación sobre el mismo porque se comporta exactamente como std::set , con la excepción de que se requiere un hash y es igual a la función en lugar de una función de comparación. Sólo busca ejemplos de std::set, y reemplazarlos con std::unordered_set y que debe estar bien.

Si tiene que escribir una función hash, hay ejemplos en los documentos, es decir, éste .

Otros consejos

Código para la mayoría de los casos de uso común:

#include <boost/unordered_set.hpp>
using boost::unordered_set;
using std::string;
using std::cout;
using std::endl;

int main (void)
{   
    // Initialize set
    unordered_set<string> s;
    s.insert("red");
    s.insert("green");
    s.insert("blue");

    // Search for membership
    if(s.find("red") != s.end())
        cout << "found red" << endl;
    if(s.find("purple") != s.end())
        cout << "found purple" << endl;
    if(s.find("blue") != s.end())
        cout << "found blue" << endl;

    return 0;
}

Salida

found red
found blue

Más información

http://www.cplusplus.com/reference/unordered_set/unordered_set/find /

Los contenedores boost son efectivamente una implementación de la interfaz de primera especificado por el Informe C ++ estándar biblioteca técnica (conocida como TR1), como se menciona en los documentos de Boost. Parecen ser parte de los nuevos proyectos de normas de trabajo por ahora. Google se vuelve un poco más documentación / ejemplos si busca TR1 y unordered_set. I como la referencia de MSDN, que también tiene algunas muestras:

http://msdn.microsoft.com/en-us/library/ bb982739.aspx

http://www.google.de/search?q=tr1+unordered_set

me gustaría probar usando los mismos métodos de acceso que utiliza en std::set u otros recipientes, http://www.boost.org/doc/libs/1_37_0/doc/html/unordered.html parece estar de acuerdo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top