HashMap和HashSet在日常的算法题中频繁需要使用到。为了能更加熟练地应用这两个数据结构,这里对其用法进行一定的总结。
unordered_map
初始化
1 | unordered_map<int,int> hashmap; |
插入元素
1 | hashmap.insert(pair<int,int>(1, 10)); |
- 两种写法在哈希表中没有键值1时等价
- 在哈希表中已经有键值1时,第一种写法会插入新的键值对<1,10>,而第二个写法会用键值对<1,10>覆盖原本键为10的位置。
常用函数
1 | hashmap.begin() // 指向哈希表的第一个容器 |
遍历哈希表
1 | unordered_map<int, int> hashmap; |
unordered_set
初始化
1 | unordered_set<int> hashset; |
插入元素
1 | hashset.insert(x); |
常用函数
与hashmap类似
遍历哈希集合
1 | std::unordered_set<int> hashset; |