I would suggest tr1 :: unordered_map. It is implemented as a hashmap, so it has the expected complexity of O (1) for searching and the worst case of O (n). There is also an enhancement implementation if your compiler does not support tr1.
#include <string>
#include <iostream>
#include <tr1/unordered_map>
using namespace std;
int main()
{
tr1::unordered_map<string, int> table;
table["One"] = 1;
table["Two"] = 2;
cout << "find(\"One\") == " << boolalpha << (table.find("One") != table.end()) << endl;
cout << "find(\"Three\") == " << boolalpha << (table.find("Three") != table.end()) << endl;
return 0;
}
source
share