Skip to content
Related Articles

Related Articles

map key_comp() function in C++ STL

View Discussion
Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 22 Jun, 2022

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)


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!