
map 和 unordered_map 都是键值对的容器。map 的底层通过树实现,且会自动为容器内元素按key进行升序排序。unordered_map 的底层通过哈希表实现,并不会自动排序。当创建一个不需要排序的字典时应使用 unordered_map,因为哈希表对元素的查找更快。
结论:需要排序的字典用 map,不需要排序的字典用unordered_map。
2. map 的用法#include
3. unordered_map 的用法
#include //map头文件
int x;
string s;
unordered_map m; //初始化一个名为m的unordered_map
map[s] = x; //在map中添加键值对 s-x
unordered_map.erase(i); //删除map中迭代器为i的键值对(可配合find方法使用)
unordered_map.erase(s); //删除map中键为s的键值对,返回删除个数
unordered_map.clear(); //清空map
unordered_map.empty(); //判断map是否为空,若是返回1,否则返回0
unordered_map.size(); //返回map中元素的个数
unordered_map.find(s); //返回键为s的迭代器,若不存在,则返回尾迭代器
unordered_map.count(s); //返回键为s的键值对出现的次数,0或1
unordered_map.begin(); //返回指向q中第一个元素的迭代器
unordered_map.end(); //返回指向q最后一个元素下一个位置的迭代器(尾迭代器)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)