在本文中,我们将讨论C ++ STL中multiset::crbegin()和multiset::crend()函数的工作原理,语法和示例。
多重集是类似于集合容器的容器,这意味着它们以键的形式(类似于集合)以特定顺序存储值。
在多集中,将值标识为与集相同的键。多重集和集合之间的主要区别在于,集合具有不同的键,这意味着没有两个键是相同的,在多重集中可以有相同的键值。
多集键用于实现二进制搜索树。
multiset::crbegin()函数是C ++ STL中的内置函数,在头文件中定义。crbegin()
表示常量反向开始函数,表示此函数返回指向多集容器最后一个元素的常量迭代器。此函数是multiset::cbegin()的反向版本
常量迭代器只能用于在多集容器中进行迭代,而不能在多集容器中进行更改。
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()函数是C ++ STL中的内置函数,在<set>头文件中定义。crend()
表示常量结束函数,表示此函数返回常量迭代器,该常量迭代器指向多集容器的第一个元素之前的元素。这是cend()
常量迭代器只能用于在多集容器中进行迭代,而不能在多集容器中进行更改。
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