映射 key_comp() 函数于 C++ STL 中
本文将探讨 C++ STL 中 map::key_comp() 函数的工作原理、语法和示例。
什么是 C++ STL 中的 Map?
Map 是关联容器,便于存储由键值和按特定顺序映射的值组合而成的元素。在 Map 容器中,使用关联键始终对数据进行内部排序。Map 容器中的值通过其唯一键进行访问。
什么是 map::key_comp()?
map::key_comp( ) 是 <map> 头文件中的一项函数。此函数返回键比较对象的副本。这在默认情况下是小于等于对象,其作用类似于小于运算符 <。该对象检查 Map 容器中元素键的顺序。此函数接受两个参数并检查其密钥,如果第一个元素较小且应该排在第二个元素之前,则返回 true,否则将返回 false。
语法
Key_compare.key_comp();
参数
此函数不接受任何参数。
返回值
它返回一个比较对象。
示例
输入
map<char, int> newmap; map<char, int> :: key_compare cmp = newmap.key_comp(); newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3;
输出
a = 1 b = 2 c = 3
示例
#include <bits/stdc++.h> using namespace std; int main() { map<int, char> TP; map<int, char>::key_compare cmp = TP.key_comp(); // Inserting elements TP[0] = 'a'; TP[1] = 'b'; TP[2] = 'c'; TP[3] = 'd'; cout<<"Elements in the map are : \n"; int val = TP.rbegin()->first; map<int, char>::iterator i = TP.begin(); do { cout << i->first << " : " << i->second<<'\n'; } while (cmp((*i++).first, val)); return 0; }
输出
Elements in the map are: 0 : a 1 : b 2 : c 3 : d
示例
#include <bits/stdc++.h> using namespace std; int main() { map<char, int> TP; map<char, int>::key_compare cmp = TP.key_comp(); // Inserting elements TP['a'] = 0; TP['b'] = 1; TP['c'] = 3; TP['d'] = 2; cout<<"Elements in the map are : \n"; char val = TP.rbegin()->first; map<char, int>::iterator i = TP.begin(); do { cout << i->first << " : " << i->second<<'\n'; } while (cmp((*i++).first, val)); return 0; }
输出
Elements in the map are: a : 0 b : 1 c : 3 d : 2
广告