C++ map crbegin() 函数

30 Aug 2024 | 3 分钟阅读

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

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

语法

参数

返回值

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

示例 1

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

输出

mymap in reverse order: [c:300] [b:100] [a:200]

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

因为 map 以键的排序顺序存储元素。因此,遍历 map 将导致上述顺序,即键的排序顺序。

示例 2

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

输出

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

在上面的示例中,我们使用 while 循环以相反的顺序遍历 map,并且 crbegin() 函数初始化 map 的最后一个元素。

由于 map 以键的排序顺序存储元素,因此迭代 map 将产生上述顺序,即键的排序顺序。

示例 3

让我们看一个获取反向 map 的第一个元素的简单示例。

输出

The first element of the reversed map m1 is: {3, 30}

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

示例 4

让我们看一个对最高分数进行排序和计算的简单示例。

输出

Marks | Roll Number
______________________
480   | 30
425   | 50
400   | 10
312   | 20
300   | 40

Highest Marks is: 480 
Roll Number of Topper is: 30

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

下一个主题C++ Map