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)