map find() function in C++ STL

• Difficulty Level : Easy
• Last Updated : 28 Oct, 2020

The map::find() is a built-in function in C++ STL which returns an iterator or a constant iterator that refers to the position where the key is present in the map. If the key is not present in the map container, it returns an iterator or a constant iterator which refers to map.end()
Syntax:

iterator=map_name.find(key)
or
constant iterator=map_name.find(key)

Parameters: The function accepts one mandatory parameter key which specifies the key to be searched in the map container.

Return Value: The function returns an iterator or a constant iterator which refers to the position where the key is present in the map. If the key is not present in the map container, it returns an iterator or a constant iterator which refers to map.end().

Time Complexity for Searching element :
The time complexity for searching elements in std::map is O(log n). Even in the worst case, it will be O(log n) because elements are stored internally as Balanced Binary Search tree (BST) whereas, in std::unordered_map best case time complexity for searching is O(1).

Below is the illustration of the above function:

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; }

Output

The elements from position 3 in map are :
KEY    ELEMENT
3    20
4    50

My Personal Notes arrow_drop_up
Recommended Articles
Page :