简述:
对于map,其内部数据结构为红黑树,因此所有元素插入到map里面都会排好序,而且搜索过程为平衡二叉树搜索,因此时间复杂度为O(logN)。我们知道还有一种快速的搜索方法,那边是哈希(又名散列),利用哈希函数,通过哈希值能快速的查找到所需元素。unordered_map便是采用这种数据结构实现,其为无序映射,unordered _map与map的使用基本一样,都是key/value之间的映射,只是他们内部采用的数据结构不一样,由于unordered_map内部是用散列表来实现快速查找,因此其内部元素完全是一种无序状态。哈希表利用哈希函数,将关键字的哈希值放都一个桶(bucket)里面,具有相同哈希值的放入到同一个桶。
头文件:
#include <unordered_map>
1、构造函数
typedef std::unordered_map<std::string,std::string> stringmap;
stringmap first; // empty
stringmap second ( { {"apple","red"},{"lemon","yellow"}} ); // init list
stringmap third ( { {"orange","orange"},{"strawberry","red"}} ); // init list
stringmap fourth (second); // copy
stringmap fifth (