C++ unordered_map find
时间: 2023-10-15 11:28:02 浏览: 103
C++的unordered_map类中的find方法是用来在哈希表中查找给定键的元素的。它返回一个迭代器,指向所找到的元素,如果元素不存在,则返回unordered_map的end迭代器。unordered_map的find方法的时间复杂度是常数时间O(1)。
下面是unordered_map类的find方法的定义:
template < class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>, class Alloc = allocator< pair<const Key,T> > >
iterator find (const Key& k);
其中,Key是键的类型,T是值的类型,Hash是哈希函数,默认是hash<Key>,Pred是比较函数,默认是equal_to<Key>,Alloc是分配器,默认是allocator< pair<const Key,T> >。
对于基本类型如int、char、long和string等作为键和值,STL提供了默认的哈希函数和比较函数。但是对于自定义的类,需要自己定义哈希函数和比较函数。哈希函数用于将键转换为哈希值,比较函数用于比较键的相等性。可以根据具体的需求实现自定义的哈希函数和比较函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++ unordered_map](https://blog.csdn.net/m0_67393619/article/details/124503669)[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_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文