📅  最后修改于: 2020-10-20 05:58:35             🧑  作者: Mango
C++ STL Multimap.crbegin()函数
C++ multimap crbegin()函数用于返回一个常量反向迭代器,该迭代器引用multimap容器中的最后一个元素。
多重地图的常数反向迭代器沿相反方向移动并递增,直到到达多重地图容器的开头(第一个元素)并指向常数元素。
句法
const_reverse_iterator crbegin() const noexcept;//since C++ 11
参数
没有
返回值
它返回一个常数反向迭代器,该迭代器指向Multimap的最后一个元素。
复杂度
不变。
迭代器有效性
没有变化。
数据竞争
容器被访问。
异常安全
此函数从不抛出异常。
例子1
让我们看一下crbegin()函数的简单示例:
#include
#include
输出:
mymultimap in reverse order: [b:Python] [b:C++] [a:Android] [a:Java]
在上面的示例中,使用crbegin()函数返回一个常数反向迭代器,该迭代器指向mymultimap多重映射中的最后一个元素。
由于多重映射因此按键的排序顺序存储元素,因此在多重映射上进行迭代将导致上述顺序,即键的排序顺序。
例子2
让我们看一个简单的示例,使用while循环以相反的顺序遍历Multimap:
#include
#include
输出:
ddd :: 11
ccc :: 13
aaa :: 12
aaa :: 10
在上面的示例中,我们使用while循环以相反的顺序对Multimap进行const_iterate,并使用crbegin()函数初始化Multimap的最后一个元素。
由于多重映射因此按键的排序顺序存储元素,因此在多重映射上进行迭代将导致上述顺序,即键的排序顺序。
例子3
让我们看一个简单的示例,以获取反向Multimap的第一个元素:
#include
#include
#include
输出:
The first element of the reversed multimap m1 is: {2, 30}
在上面的示例中,crbegin()函数返回反转的Multimapm1的第一个元素,即{2,30}。
例子4
让我们看一个简单的示例来对最高分进行排序和计算:
#include
#include
#include
输出:
Marks | Roll Number
_____________________
480 | 50
400 | 30
400 | 10
300 | 40
300 | 20
Highest Marks is: 480
Roll Number of Topper is: 50
在上面的示例中,实现了一个Multimap“标记”,其中将卷号存储为值,并将标记存储为键。这使我们能够利用多地图中的自动排序功能,并使我们能够识别具有最高标记的元素的卷数。