c++中的undered_map容器介绍
时间: 2024-04-18 21:31:31 浏览: 91
map容器讲解
unordered_map是C++标准库中提供的一个无序关联容器,它基于哈希表实现,用于存储键值对。unordered_map中的键和值可以是任意类型,且键值对之间的映射关系是唯一的。
unordered_map的特点如下:
1. 无序性:unordered_map中的元素是无序存储的,与元素插入的顺序无关。
2. 快速查找:由于使用了哈希表,unordered_map提供了快速的查找操作。平均情况下,插入、删除和查找操作的时间复杂度为O(1)。
3. 内存消耗较大:由于哈希表的特性,unordered_map在存储上需要更多的内存空间。
4. 迭代器失效:由于哈希表的重新哈希操作,插入和删除元素可能导致迭代器失效。
unordered_map提供了以下常用的内置函数:
1. insert(pair): 向unordered_map中插入一个键值对。
2. erase(key): 从unordered_map中移除指定的键key及其对应的值。
3. size(): 返回unordered_map中键值对的个数。
4. empty(): 判断unordered_map是否为空,如果为空则返回true,否则返回false。
5. clear(): 清空unordered_map中的所有键值对。
6. find(key): 查找unordered_map中是否存在指定的键key,如果存在则返回指向该键值对的迭代器,否则返回unordered_map::end()。
7. count(key): 返回unordered_map中与指定键key相等的键值对的个数。
除了上述常用的函数外,还可以使用迭代器遍历unordered_map中的所有键值对。需要注意的是,unordered_map中的键是唯一的,如果插入具有相同键的元素,新元素将会替换旧元素。希望对你有所帮助!
阅读全文