c++中的unordered_map
时间: 2023-10-28 15:59:39 浏览: 54
引用中提到,C++中的unordered_map是一种关联容器,它将键值对存储在哈希表中。在unordered_map中,元素的取值可以通过at和[]两种操作来进行。使用at操作可以获取指定键的值,使用[]操作可以获取指定键的值,并且如果该键不存在,则会插入一个默认值并返回它。另外,在unordered_map中还可以进行容量查询、删除操作和查找操作。
容量查询方面,可以使用empty()函数查询unordered_map是否为空,使用size()函数查询unordered_map中键值对的数量,使用max_size()函数查询unordered_map所能包含的最大键值对数量,使用count()函数查询关键字为key的元素的个数。
删除操作方面,可以使用erase()函数删除一个迭代器指向的键值对,也可以使用erase()函数删除一定范围内的元素,还可以使用erase()函数根据键来进行删除。另外,可以使用clear()函数清空unordered_map。
查找操作方面,可以使用find()函数根据关键字查询元素,如果找到则返回指向该关键字的迭代器,否则返回指向end的迭代器。
综上所述,C++中的unordered_map是一种关联容器,可以通过at和[]操作获取元素的值,可以进行容量查询、删除操作和查找操作。
相关问题
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。