What is the equivalent of HashSet in C++? How do I use it (as in basic add, remove, and iterating through)
At the moment, my guess is that it would be std::tr1::unordered_set, but being part of the TR1 extensions, it may not necessarily be available.
For the time being, you could use Boost.Unordered, which provided the basis for the unordered containers in TR1. Boost provides a TR1 wrapper too.
Last edited by laserlight; April 13th, 2010 at 10:06 AM.
Reason: Oops, missed the tr1 namespace
C + C++ Compiler: MinGW port of GCC
Build + Version Control System: SCons + Bazaar
Look up a C/C++ Reference and learn How To Ask Questions The Smart Way
Kindly rate my posts if you found them useful
Originally Posted by dietao234
What is the equivalent of HashSet in C++? How do I use it (as in basic add, remove, and iterating through)
HashSet of Java?
There is no equivalent yet but one is planned for the upcoming new C++ standard. Many compiler suppliers offer it already. It's called std::tr1::unordered_set.
From what language?
c++ has std::set/std::map, which is (usually) implemented as a binary tree (red/black tree as a matter of fact).
boost has a boost::hash_set/boost::hash_map which is basically the same thing, but implemented as a hash structure. This will be implemented into c++ as "std::::tr1::unordered_set" and "std::::tr1::unordered_map". Boost's structure has been renamed a a consequence.
As for how to use them, maybe the best thing for you to do is to google these structures and come back if you have any questions? I can answer any of your questions, but there are better tutorials out there then I can type right now.
Hope that helps?
Originally Posted by monarch_dodra
c++ has std::set/std::map,
The Java equivalents of these are TreeSet and TreeMap respectively.
View Tag Cloud
Forum Rules