C++ STL 中的 multiset crbegin() 和 crend() 函数


在本文中,我们将讨论 C++ STL 中 multiset::crbegin() 和 multiset::crend() 函数的工作原理、语法和示例。

什么是 C++ STL 中的 multiset?

Multiset 是与 set 容器类似的容器,这意味着它们以与 set 相同的方式存储键形式的值,并以特定的顺序存储。

在 multiset 中,值与 set 一样被识别为键。multiset 和 set 之间的主要区别在于,set 具有不同的键,这意味着没有两个键是相同的,而在 multiset 中可以存在相同的键值。

Multiset 键用于实现二叉搜索树。

什么是 multiset::crbegin()?

multiset::crbegin() 函数是 C++ STL 中的内置函数,它在头文件中定义。crbegin() 表示常量反向开始函数,这意味着此函数返回指向 multiset 容器最后一个元素的常量迭代器。此函数是 multiset::cbegin() 的反向版本。

常量迭代器只能用于遍历 multiset 容器,它不能对 multiset 容器进行修改。

语法

ms_name.crbegin();

参数

该函数不接受任何参数。

返回值

此函数返回一个常量迭代器,该迭代器指向容器的最后一个元素。

示例

输入

std::multiset<int> mymultiset = {1, 2, 2, 3, 4};
mymultiset.crbegin();

输出

4

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int main(){
   int arr[] = {10, 20, 30, 40, 50, 60};
   multiset<int> check(arr, arr + 6);
   cout<<"First element fetched using crbegin() function: "<<*(check.crbegin()) << endl;
   for(auto i = check.crbegin(); i!= check.crend(); i++)
      cout << *i << " ";
   return 0;
}

输出

First element fetched using crbegin() function: 60
60 50 40 30 20 10

什么是 multiset::crend()?

multiset::crend() 函数是 C++ STL 中的内置函数,它在 <set> 头文件中定义。crend() 表示常量结束函数,这意味着此函数返回指向 multiset 容器第一个元素之前元素的常量迭代器。这是 cend() 的反向版本。

常量迭代器只能用于遍历 multiset 容器,它不能对 multiset 容器进行修改。

语法

ms_name.crend();

参数

该函数不接受任何参数。

返回值

此函数返回一个常量迭代器,该迭代器指向容器第一个元素之前的元素。

示例

输入

std::multiset<int> mymultiset = {1, 2, 2, 3, 4};
mymultiset.crend();

输出

error

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int main(){
   int arr[] = {10, 20, 30, 40, 50, 60};
   multiset<int> check(arr, arr + 6);
   cout<<"Elements in the list are: ";
   for(auto i = check.crbegin(); i!= check.crend(); i++)
      cout << *i << " ";
   return 0;
}

输出

Elements in the list are: 60 50 40 30 20 10

更新于: 2020-04-17

91 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告