c++ Unordered_Map::Find()函数
c++以其强大而通用的标准模板库(STL)而闻名,它为开发人员提供了一套广泛的即用型高效容器、迭代器、算法和函数。其中,“unordered_map”作为高效键值存储和高速访问的关键角色脱颖而出,使其成为对快速检索至关重要的应用程序的绝佳选择。在这个“unordered_map”的核心,unordered_map::find()函数是一个至关重要的工具。该数据结构针对高速访问和键值存储进行了优化。本文通过一些说明性示例揭示了unordered_map::find()函数的语法和参数,全面介绍了该函数。
理解Unordered_Map::Find()
unordered_map::find()函数用于定位与“unordered_map”中指定键相关联的元素。它的声明根据对象是否为常量限定而变化,从而在使用上提供了灵活性。
find (const key_type& k);
当“unordered_map”不是常量限定时使用。这段代码返回一个指向找到的元素的迭代器。
find (const key_type& k) const;
此版本适用于" unordered_map "为常量限定的情况。它返回一个常量迭代器,其行为与非常量版本相似。
参数:
它接受一个参数“k”,这是要在“unordered_map”中搜索的键。
返回值:
返回值取决于“unordered_map”对象的限定条件。
如果对象不是固定限定的,该方法返回一个非常量迭代器。
如果对象是常量限定的,该方法返回一个常量迭代器。
时间复杂度:
std::unordered_map::find()的时间复杂度对于理解其效率至关重要:
在平均情况下,时间复杂度是恒定的(O(1)),使得它对于典型用例非常高效。
在最坏的情况下,时间复杂度变为线性(O(n))。然而,这种情况在实践中很少见。
示例1:
让我们研究一个实际的例子来说明unordered_map::find()的用法和好处。在本例中,创建了一个“unordered_map”,其中字符作为键,对应的整数作为值。find()函数查找与键“p”链接的元素。“ittr”迭代器链接到找到的元素,并将其数据打印到控制台。请看下面的代码:
# include
# include
使用命名空间std;
Int main(void) {
unordered_map = {
{' w ' 9},
{' a ', 6},
{“p”8},
{' m ', 3},
{'s', 4}};
auto字符= unpt .find('p');
cout