Multimap与map相似,只是多个元素可以具有相同的键。同样,在这种情况下,键值和映射值对也不必唯一。关于multimap的重要注意事项是multimap始终将所有键保持在已排序的顺序中。 multimap的这些属性使其在竞争性编程中非常有用。
与多图关联的一些基本功能:
- begin() –将迭代器返回到Multimap中的第一个元素
- end() –返回迭代器,该迭代器返回到multimap中最后一个元素之后的理论元素
- size() –返回多图中元素的数量
- max_size() –返回多图可以容纳的最大元素数
- empty() –返回多图是否为空
- pair
insert(keyvalue,multimapvalue )–向多图添加新元素
C++实现以说明上述功能
CPP
#include
#include
输出
The multimap gquiz1 is :
KEY ELEMENT
1 40
2 30
3 60
6 50
6 10
The multimap gquiz1 after adding extra elements is :
KEY ELEMENT
1 40
2 30
3 60
4 50
5 10
6 50
6 10
The multimap gquiz2 after assign from gquiz1 is :
KEY ELEMENT
1 40
2 30
3 60
4 50
5 10
6 50
6 10
gquiz2 after removal of elements less than key=3 :
KEY ELEMENT
3 60
4 50
5 10
6 50
6 10
gquiz2.erase(4) : 1 removed
KEY ELEMENT
3 60
5 10
6 50
6 10
gquiz1.lower_bound(5) : KEY = 5 ELEMENT = 10
gquiz1.upper_bound(5) : KEY = 6 ELEMENT = 50
多图功能列表:
- C++ STL中的multimap :: 运算符= –用于通过替换现有内容将新内容分配给容器。
- C++ STL中的multimap :: crbegin()和multimap :: crend()– crbegin()返回一个常量反向迭代器,该迭代器引用了multimap容器中的最后一个元素。 crend()返回一个常数反向迭代器,该迭代器指向multimap中第一个元素之前的理论元素。
- C++ STL中的multimap :: emplace_hint()–将键及其元素插入具有给定提示的multimap容器中。
- C++ STL中的multimap clear()函数–从multimap中删除所有元素。
- C++ STL中的multimap empty()函数–返回multimap是否为空。
- C++ STL中的multimap maxsize()–返回多图容器可以容纳的最大元素数。
- C++ STL中的multimap value_comp()函数–返回确定multimap中元素排序方式的对象(默认为'<‘)
- C++ STL中的multimap rend –返回一个反向迭代器,该迭代器指向multimap容器的第一个元素之前的理论元素。
- C++ STL中的multimap :: cbegin()和multimap :: cend()– cbegin()返回一个常量迭代器,该迭代器引用了multimap容器中的第一个元素。 cend()返回一个常数迭代器,该迭代器指向在multimap中最后一个元素之后的理论元素。
- C++ STL中的multimap :: swap()–将一个多图的内容交换为另一个相同类型和大小的多图。
- C++ STL中的multimap rbegin –返回指向容器最后一个元素的迭代器。
- C++ STL中的multimap size()函数–返回multimap容器中的元素数。
- C++ STL中的multimap :: emplace()–将键及其元素插入到multimap容器中。
- C++ STL中的multimap :: begin()和multimap :: end()– begin()返回一个迭代器,该迭代器引用了multimap容器中的第一个元素。 end()返回迭代器,该迭代器返回到multimap中最后一个元素之后的理论元素。
- C++ STL中的multimap upper_bound()函数–将迭代器返回到等效于键值为’g’的多重映射值的第一个元素,或者肯定会在multimap中的键值为’g’的元素之后。
- C++ STL中的multimap :: count()–返回与multimap中键值为’g’的元素匹配的次数。
- C++ STL中的multimap :: erase()–从多重映射中删除键值。
- C++ STL中的multimap :: find()–如果找到了迭代器,则返回迭代器,该迭代器在multimap中具有键值“ g”,否则返回迭代器结束。
- C++ STL中的multimap equal_range()–返回对的迭代器。该对是指范围的边界,该范围包括容器中所有具有等于k的键的元素。
- C++ STL中的multimap insert()–用于在multimap容器中插入元素。
- C++ STL中的multimap lower_bound()函数–将迭代器返回到等效于键值为’g’的多重映射值的第一个元素,或者绝对不会在多重映射中的键值为’g’的元素之前。
- C++ STL中的multimap key_comp()–返回一个对象,该对象确定如何对multimap中的元素进行排序(默认为'<‘)。
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。