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