C++ STL 中的 multimap::begin() 和 multimap::end()
在本文中,我们将讨论 C++ STL 中 multimap::begin() 和 multimap::end() 函数的工作原理、语法和示例。
什么是 C++ STL 中的 Multimap?
Multimap 是关联容器,类似于 map 容器。它还方便地按特定顺序存储由键值对和映射值组合而成的元素。在 multimap 容器中,可以有多个元素与同一个键关联。数据在内部始终借助其关联键进行排序。
什么是 multimap::begin()?
multimap::begin() 函数是 C++ STL 中的内置函数,定义在 <map> 头文件中。begin() 用于访问与关联的 multimap 容器开头处的元素。
此函数返回一个指向容器第一个元素的迭代器。当容器中没有值时,不能解除迭代器的引用。
语法
multimap_name.begin();
参数
此函数不接受任何参数。
返回值
此函数返回一个指向 map 容器第一个值的迭代器。
输入
std::multimap<int> mymap; mymap.insert({‘a’, 10}); mymap.insert({‘b’, 20}); mymap.insert({‘c’, 30}); mymap.begin();
输出
a:10
示例
multimap::begin()
#include <bits/stdc++.h> using namespace std; int main(){ multimap<int, int> mul; //inserting elements in multimap mul.insert({ 1, 10 }); mul.insert({ 2, 20 }); mul.insert({ 3, 30 }); mul.insert({ 4, 40 }); mul.insert({ 5, 50 }); //fetching first pair in multimap auto i = mul.begin(); cout<<"First element in multimap is: "; cout << "{" << i->first << ", " << i->second << "}\n"; //displaying multimap elements cout << "\nElements in multimap is : \n"; cout << "KEY\tELEMENT\n"; for (auto it = mul.begin(); it!= mul.end(); ++it){ cout << it->first << '\t' << it->second << '\n'; } return 0; }
输出
如果我们运行上述代码,它将生成以下输出:
First element in multimap is: {1, 10} Elements in multimap is : KEY ELEMENT 1 10 2 20 3 30 4 40 5 50
什么是 multimap::end()?
multimap::end() 函数是 C++ STL 中的内置函数,定义在 <map> 头文件中。end() 用于访问 multimap 容器中最后一个元素之后(或超过最后一个元素)的元素。
此函数返回一个指向容器中最后一个元素下一个元素的迭代器。当容器中没有值时,不能解除迭代器的引用。
通常,begin() 和 end() 用于通过给它们提供范围来迭代 map 容器。
语法
multimap_name.end();
参数
此函数不接受任何参数。
返回值
如果我们运行上述代码,它将生成以下输出:
输入
std::multimap<int> mymap; mymap.insert({‘a’, 10}); mymap.insert({‘b’, 20}); mymap.insert({‘c’, 30}); mymap.end();
输出
error
示例
multimap::end()
#include <bits/stdc++.h> using namespace std; int main(){ multimap<int, int> mul; //inserting elements in multimap mul.insert({ 1, 10 }); mul.insert({ 2, 20 }); mul.insert({ 3, 30 }); mul.insert({ 4, 40 }); mul.insert({ 5, 50 }); //displaying multimap elements cout << "\nElemenst in multimap is : \n"; cout << "KEY\tELEMENT\n"; for (auto it = mul.begin(); it!= mul.end(); ++it){ cout << it->first << '\t' << it->second << '\n'; } return 0; }
输出
如果我们运行上述代码,它将生成以下输出:
Elements in multimap is : KEY ELEMENT 1 10 2 20 3 30 4 40 5 50
广告