C++中unordered_map()
时间: 2024-03-09 18:43:26 浏览: 25
unordered_map是C++标准库中的一个容器,它提供了一种键值对的映射关系。与普通的map相比,unordered_map使用哈希表来实现,因此可以在常数时间内进行插入、删除和查找操作。
unordered_map的特点如下:
1. 键值对的存储:每个元素都是一个键值对,其中键是唯一的,而值可以重复。
2. 哈希表实现:unordered_map使用哈希表来存储键值对,通过哈希函数将键映射到哈希表的索引位置,从而实现快速的插入、删除和查找操作。
3. 无序性:unordered_map中的元素是无序的,即元素的顺序与插入的顺序无关。
使用unordered_map时,需要包含头文件<unordered_map>。以下是unordered_map的一些常用操作:
1. 插入元素:可以使用insert()函数或者使用下标操作符[]来插入键值对。
2. 删除元素:可以使用erase()函数来删除指定键的元素。
3. 查找元素:可以使用find()函数来查找指定键的元素。
4. 访问元素:可以使用下标操作符[]来访问指定键对应的值。
相关问题
C++中unordered_map
在C++中,unordered_map是一种关联容器,用于存储键值对。可以通过键快速查找值,其元素是无序的。在unordered_map中,我们可以使用at和[ ]两种操作来获取元素的值。例如,m和m.at(1)都可以获取键为1的元素的值。
此外,unordered_map还提供了一些容量查询的函数,例如empty()用于查询是否为空,size()用于查询键值对的数量,max_size()用于查询unordered_map所能包含的最大键值对数量。还有count()函数可以查询关键字为key的元素的个数。在unordered_map中,返回的结果非0即1。
如果需要删除元素,可以使用erase()函数。erase()函数可以删除迭代器指向的位置的键值对,并返回一个指向下一元素的迭代器。还可以使用erase()函数删除一定范围内的元素,以及根据Key来进行删除。clear()函数可以清空整个unordered_map。
另外,我们可以使用find()函数来进行关键字查询。如果找到了该关键字,find()函数会返回指向该关键字的迭代器;如果未找到,则会返回指向end的迭代器。根据unordered_map的类型不同,返回的迭代器可以是iterator或者const_iterator。<span class="em">1</span>
#### 引用[.reference_title]
- *1* [C++ unordered_map](https://blog.csdn.net/weixin_43203889/article/details/116029452)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
c++中unordered_map的函数
unordered_map是C++标准库中的一个容器,它提供了一种键值对的映射关系。下面是unordered_map常用的一些函数:
1. insert(key, value):向unordered_map中插入一个键值对。
2. erase(key):从unordered_map中删除指定键的元素。
3. find(key):查找指定键的元素,返回一个迭代器。
4. count(key):返回指定键在unordered_map中出现的次数,只能是0或1。
5. size():返回unordered_map中元素的个数。
6. empty():判断unordered_map是否为空。
7. clear():清空unordered_map中的所有元素。
8. begin()和end():返回指向unordered_map首元素和尾后元素的迭代器,用于遍历unordered_map。