C++ multiset rbegin()

2024年8月30日 | 阅读4分钟

C++ multiset rbegin() 函数用于返回一个反向迭代器,该迭代器指向 multiset 容器的最后一个元素。

multiset 的反向迭代器反向移动,并递增直到达到 multiset 容器的起始位置(第一个元素)。

语法

参数

返回值

它返回一个反向迭代器,该迭代器指向 multiset 的最后一个元素。

复杂度

常量。

迭代器有效性

无变化。

数据竞争

multiset 在访问时,非 const 和 const 版本都不会修改 multiset 容器。同时访问 multiset 的元素是安全的。

异常安全

此函数从不抛出异常。

示例 1

我们来看一个 rbegin() 函数的简单示例

输出

Elements are: 
40
30
20
20
10
10

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

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

示例 2

让我们看一个使用 while 循环以反向顺序迭代 multiset 的简单示例

输出

ddd
ccc
bbb
bbb
aaa
aaa

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

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

示例 3

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

输出

The first element in the reversed multiset is 30.
The multiset is: 10 20 20 30
The reversed multiset is: 30 20 20 10
After the erasure, the first element in the reversed multiset is 20.

示例 4

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

输出

Marks
______________________
465
450
450
410
410
290

Highest Marks is: 465 

在上面的示例中,实现了一个 multiset marks,其中 marks 是键。这使我们能够利用 multiset 的自动排序,并让我们识别最高分数。

下一个主题C++ multiset