unordered_map与map区别
时间: 2023-07-17 17:11:47 浏览: 80
map 是一种关联式容器,它存储的元素是键值对,并且按照关键字升序排列。
unordered_map 是一种无序的关联式容器,它存储的元素也是键值对,但不保证元素的顺序。因此,它提供了比 map 更快的查询速度。
总的来说,map 的优点是保证了元素的顺序,而 unordered_map 的优点是查询速度快。
相关问题
unordered_set与unordered_map的使用选择
unordered_set和unordered_map都是C++标准库中的容器用于存储一组唯一的元素。它们的主要区别在于unordered_set存储的是唯一的键(key),而unordered_map存储的是键值对(key-value)。
使用选择主要取决于你的需求:
- 如果你只需要存储一组唯一的元素,并且不需要与其他值相关联,那么可以选择使用unordered_set。例如,你需要存储一组不重复的整数或字符串。
- 如果你需要存储一组键值对,并且需要通过键快速查找对应的值,那么可以选择使用unordered_map。例如,你需要存储一组学生的学号和姓名,通过学号快速查找对应的姓名。
使用unordered_set和unordered_map时,你可以使用它们提供的成员函数来进行插入、删除、查找等操作。此外,它们还提供了迭代器来遍历容器中的元素。
c++ 为什么引入unordered_map头文件后说unordered_map不是模板
unordered_map 是 C++ STL 中的一个模板类,用于实现哈希表。在使用 unordered_map 时,需要引入 `<unordered_map>` 头文件,并使用命名空间 std。如果你在引入头文件后仍然提示 "unordered_map 不是模板",可能是因为编译器不支持或未正确配置 C++11 标准。请检查编译器版本和相关配置,确保支持 C++11 或更高版本的标准。
阅读全文