C++ STL 中的 multiset cbegin() 和 cend() 函数
本文将讨论 C++ STL 中 multiset::cbegin() 和 multiset::cend() 函数的工作原理、语法和示例。
什么是 C++ STL 中的 multiset?
Multiset 与 set 容器类似,这意味着它们像 set 一样以键的形式存储值,并以特定顺序存储。
在 multiset 中,值与 set 一样被识别为键。multiset 和 set 的主要区别在于,set 的键是唯一的,这意味着没有两个键是相同的;而在 multiset 中,可以存在相同键值。
Multiset 键用于实现二叉搜索树。
什么是 multiset::cbegin()?
multiset::cbegin() 函数是 C++ STL 中的内置函数,在 <set> 头文件中定义。cbegin() 表示常量开始函数,这意味着此函数返回指向 multiset 容器开头的常量迭代器。
常量迭代器只能用于遍历 multiset 容器,不能对 multiset 容器进行更改。
语法
ms_name.cbegin();
参数
该函数不接受任何参数。
返回值
此函数返回一个指向容器第一个元素的常量迭代器。
示例
输入
std::multiset<int> mymultiset = {1, 2, 2, 3, 4}; mymultiset.cbegin();
输出
1
示例
#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 cbegin() function: "<<*(check.cbegin()) << endl; for(auto i = check.cbegin(); i!= check.cend(); i++) cout << *i << " "; return 0; }
输出
First element fetched using cbegin() function: 10 10 20 30 40 50 60
什么是 multiset::cend()?
multiset::cend() 函数是 C++ STL 中的内置函数,在 <set> 头文件中定义。cend() 表示常量结束函数,这意味着此函数返回指向 multiset 容器最后一个元素之后的常量迭代器。
常量迭代器只能用于遍历 multiset 容器,不能对 multiset 容器进行更改。
语法
ms_name.cend();
参数
该函数不接受任何参数。
返回值
此函数返回一个指向容器最后一个元素之后的元素的常量迭代器。
示例
输入
std::multiset<int&t; mymultiset = {1, 2, 2, 3, 4}; mymultiset.cend();
输出
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.cbegin(); i!= check.cend(); i++) cout << *i << " "; return 0; }
输出
Elements in the list are: 10 20 30 40 50 60
广告