在C ++ STL中映射crbegin()和crend()函数

在本文中,我们将讨论C ++ STL中map::crbegin()和map::crend()函数的工作,语法和示例。

什么是C ++ STL中的映射?

映射是关联容器,它有助于按特定顺序存储由键值和映射值的组合形成的元素。在映射容器中,数据始终在内部借助其关联的键进行排序。映射容器中的值通过其唯一键访问。

什么是map::cbegin()?

map::crbegin()函数是C ++ STL中的内置函数,该函数在  header file. crbegin() implies constant reverse begin, means the reverse of the cbegin which was constant begin, in other words the function crbegin() will return the iterator which is pointing to the last element of the map container associated with the function. This iterator can’t be used to modify the map. This can be just used to traverse the set container.

语法

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