在C ++ STL中映射crbegin()和crend()函数
在本文中,我们将讨论C++STL中map::crbegin()和map::crend()函数的工作,语法和示例。
什么是C++STL中的映射?
映射是关联容器,它有助于按特定顺序存储由键值和映射值的组合形成的元素。在映射容器中,数据始终在内部借助其关联的键进行排序。映射容器中的值通过其唯一键访问。
什么是map::cbegin()?
map::crbegin()函数是C++STL中的内置函数,该函数在
语法
Map_name.crbegin();
参数
此函数不接受任何参数。
返回值
此函数返回指向映射容器最后一个元素的迭代器。
示例
输入值
map<char, int> newmap; newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3; newmap.crbegin();
输出结果
c:3
映射::crbegin
示例
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); //使用map::crbegin提取第一个元素 auto temp = TP_Map.crbegin(); cout<<"First element is: "<<temp->first << " -> " << temp->second; cout<<"\nTP Map is : \n"; cout << "MAP_KEY\tMAP_ELEMENT\n"; for (auto i = TP_Map.crbegin(); i!= TP_Map.crend(); i++) { cout << i->first << "\t" << i->second << endl; } return 0; }
输出结果
First element is: 4 -> 70 TP Map is: MAP_KEY MAP_ELEMENT 4 70 3 50 2 30 1 10
什么是map::crend()?
map::crend()函数是C++STL中的内置函数,在<map>头文件中定义。crend()
表示常数反向迭代器,意味着它与常数迭代器的cend相反,换句话说,函数crend()
将返回指向与该函数关联的映射容器的第一个位置之前的位置的迭代器。该迭代器不能用于修改映射。这可以仅用于遍历映射容器。
语法
newmap.crend();
参数
此函数不接受任何参数。
返回值
它返回一个指向关联映射容器前面的第一个元素的迭代器。
示例
输入值
map<char, int> newmap; newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3; newmap.crend();
输出结果
error
map::crend
示例
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); cout<<"\nTP Map is : \n"; cout << "MAP_KEY\tMAP_ELEMENT\n"; for (auto i = TP_Map.crbegin(); i!= TP_Map.crend(); i++) { cout << i->first << "\t" << i->second << endl; } return 0; }
输出结果
TP Map is: MAP_KEY MAP_ELEMENT 4 70 3 50 2 30 1 10