c++ hash 容器:unordered_map

Boost 的 unordered_map 被吸纳进了 C++0X 标准,相较于 map 其更具有性能优势。

如:map 查找速度 O(log(N)),unordered_map 查找速度 O(1)

以下是其简单的使用示例:

#include <iostream>
#include <string>
#include <unordered_map>

int main ()
{
  std::unordered_map<std::string,double> mymap = {
     {"mom",5.4},
     {"dad",6.1},
     {"bro",5.9} };

  std::string input;
  std::cout << "who? ";
  getline (std::cin,input);

  std::unordered_map<std::string,double>::const_iterator got = mymap.find (input);

  if ( got == mymap.end() )
    std::cout << "not found";
  else
    std::cout << got->first << " is " << got->second;

  std::cout << std::endl;

  return 0;
}