multimap
介绍
基本与 map 相同,但除去了 operator[], 因为其特点是相同 key 的值在 multimap 中可以多个存在。需要强调的,与 map 有明显不同的常用方法:
常用方法
iterator insert(value) 插入键值对,返回插入后该元素的迭代器
size_type erase(key) 删除所有关键字与 key 相等的键值对,返回删除的元素个数
void erase(iterator pos) 删除对应位置元素
size_type count(key) 统计关键字为 key 的元素个数
iterator find(key) 查找关键字与 key 相等的键值对,返回对应位置的迭代器。如果不存在则返回 end() 。如果有多个关键字与 key 相等的键值对,返回的迭代器指向哪一个不定。
pair<iterator, iterator> equal_range(key) 查找关键字与 key 相等的键值对,返回迭代器对,描述与 key 相等的键值对的区间 [first, last) 。
代码示例
1 |
|
1 | output |
multiset
介绍
与上述 multimap 的用法基本相同,只是每个元素只有一个值 key,而没有对应的 value。