C++ multimap crbegin() 函数

30 Aug 2024 | 3 分钟阅读

C++ multimap crbegin() 函数用于返回指向 multimap 容器中最后一个元素的常量反向迭代器。

multimap 的常量反向迭代器反向移动,并递增它直到到达 multimap 容器的开头(第一个元素),并指向常量元素。

语法

参数

返回值

它返回一个指向 multimap 最后一个元素的常量反向迭代器。

复杂度

常量。

迭代器有效性

无变化。

数据竞争

容器被访问。

异常安全

此函数从不抛出异常。

示例 1

让我们看看 crbegin() 函数的简单示例

输出

mymultimap in reverse order: [b:Python] [b:C++] [a:Android] [a:Java]

在上面的示例中,crbegin() 函数用于返回指向 mymultimap 中最后一个元素的常量反向迭代器。

由于 multimap 以键的排序顺序存储元素,因此对 multimap 进行迭代将按上述顺序(即键的排序顺序)进行。

示例 2

让我们看一个使用 while 循环逆序迭代 multimap 的简单示例

输出

ddd :: 11
ccc :: 13
aaa :: 12
aaa :: 10

在上面的示例中,我们使用 while 循环以反向顺序对 multimap 进行常量迭代,并且 crbegin() 函数初始化 multimap 的最后一个元素。

由于 multimap 以键的排序顺序存储元素,因此对 multimap 进行迭代将按上述顺序(即键的排序顺序)进行。

示例 3

让我们看一个简单的例子来获取反向 multimap 的第一个元素

输出

The first element of the reversed multimap m1 is: {2, 30}

在上面的示例中,crbegin() 函数返回反向 multimap m1 的第一个元素,即 {2,30}。

示例 4

让我们看一个简单的例子来排序和计算最高分数

输出

Marks | Roll Number
_____________________
480   |  50
400   |  30
400   |  10
300   |  40
300   |  20
Highest Marks is: 480 
Roll Number of Topper is: 50

在上面的示例中,实现了 multimap "marks",其中学号作为值存储,分数作为键。这使我们能够利用 multimap 中的自动排序,并让我们能够识别分数最高的元素的学号。

下一个主题C++ Multimap