Open In App

map key_comp() function in C++ STL

Last Updated : 13 Jun, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

The map::key_comp() is a function in STL in C++ that returns a copy of comparison object used by container that compare keys. 

Syntax:

map.key_comp()

Return value: This method returns the comparison object used by container that compare keys. 

Below examples illustrate the working of key_comp() method: 

Example: 

CPP
// C++ program to demonstrate map::key_comp(). 

#include <iostream> 
#include <map> 
using namespace std; 

int main() 
{ 
    // Declare the map 
    map<char, int> mymap; 

    // Compare the key. 
    map<char, int>::key_compare 
        mycomp 
        = mymap.key_comp(); 

    // Populate the map 
    mymap['x'] = 50; 
    mymap['y'] = 100; 
    mymap['z'] = 150; 

    // Print the map 
    cout << "mymap contain:\n"; 

    char highest = mymap.rbegin()->first; 

    // key value of last element 
    map<char, int>::iterator 
        it 
        = mymap.begin(); 

    do { 
        cout << it->first 
            << " => " << it->second 
            << "\n"; 
    } while (mycomp((*it++).first, highest)); 

    cout << "\n"; 

    return 0; 
} 
Output:
mymap contain:
x => 50
y => 100
z => 150

Example 2: 

CPP
// C++ program to demonstrate map::key_comp(). 

#include <iostream> 
#include <map> 
using namespace std; 

int main() 
{ 
    // Declare the map 
    map<char, int> mymap; 

    // Compare the key. 
    map<char, int>::key_compare 
        mycomp 
        = mymap.key_comp(); 

    mymap['a'] = 100; 
    mymap['b'] = 200; 
    mymap['c'] = 300; 

    cout << "mymap contain:\n"; 

    char highest = mymap.rbegin()->first; 

    // key value of last element 

    map<char, int>::iterator 
        it 
        = mymap.begin(); 

    do { 
        cout << it->first 
            << " => "
            << it->second 
            << '\n'; 
    } while (mycomp((*it++).first, highest)); 

    cout << '\n'; 

    return 0; 
} 
Output:
mymap contain:
a => 100
b => 200
c => 300

Time complexity: O(1)


Next Article
Article Tags :
Practice Tags :

Similar Reads