C++ map rend() 函数

30 Aug 2024 | 3 分钟阅读

C++ map 的 rend() 函数用于返回一个迭代器,指向 map 的末尾(不是最后一个元素,而是最后一个元素之后的那个元素),按逆序排列。这类似于非逆序容器的第一个元素之前的元素。

注意:- 这是一个占位符。此位置不存在任何元素,尝试访问将导致未定义行为。

语法

参数

返回值

它返回一个反向迭代器,指向反向容器中最后一个元素之后的位置。

示例 1

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

输出

z = 300
y = 200
x = 100

在上面的示例中,rend()函数用于返回一个反向迭代器,指向反向容器中最后一个元素之后的位置。

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

示例 2

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

输出

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

在上面的示例中,我们使用 while 循环逆序迭代 map。

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

示例 3

让我们看一个简单的例子。

输出

Map contains following elements in reverse order:
e = 5
d = 4
c = 3
b = 2
a = 1

在上面的示例中,map 的元素以逆序返回。

示例 4

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

输出

Salary | ID
______________________
5500   | 50
4500   | 30
3000   | 40
2500   | 20
1000   | 10

Highest salary: 5500 
ID is: 50

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

下一个主题C++ Map