map :: find()是C++ STL中的内置函数,该函数返回一个迭代器或常量迭代器,该迭代器或常量迭代器引用键在映射中的位置。如果键在地图容器中不存在,它将返回一个引用map.end()的迭代器或常量迭代器。
句法:
iterator=map_name.find(key)
or
constant iterator=map_name.find(key)
参数:该函数接受一个强制性参数键,该键指定要在地图容器中搜索的键。
返回值:该函数返回一个迭代器或常量迭代器,该迭代器或常量迭代器引用键在地图中的位置。如果键在地图容器中不存在,它将返回一个引用map.end()的迭代器或常量迭代器。
搜索元素的时间复杂度:
在std :: map中搜索元素的时间复杂度为O(log n)。即使在最坏的情况下,它也将是O(log n),因为元素在内部存储为“平衡二进制搜索树”(BST),而在std :: unordered_map中,最佳情况下,搜索的时间复杂度是O(1)。
下面是上述函数的说明:
CPP
// C++ program for illustration
// of map::find() function
#include
using namespace std;
int main()
{
// Initialize container
map mp;
// Insert elements in random order
mp.insert({ 2, 30 });
mp.insert({ 1, 40 });
mp.insert({ 3, 20 });
mp.insert({ 4, 50 });
cout << "Elements from position of 3 in the map are : \n";
cout << "KEY\tELEMENT\n";
// find() function finds the position
// at which 3 is present
for (auto itr = mp.find(3); itr != mp.end(); itr++) {
cout << itr->first << '\t' << itr->second << '\n';
}
return 0;
}
输出
The elements from position 3 in map are :
KEY ELEMENT
3 20
4 50
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。