c++multimap
时间: 2023-10-18 13:10:10 浏览: 105
cpp代码-Multimap 案例
C++中的multimap是一个关联容器,它允许存储具有相同键的多个值。multimap内部使用红黑树实现,因此它的元素是自动按照键的大小进行排序的。multimap的主要操作包括插入、查找、删除和遍历元素。
以下是multimap的基本语法:
```c++
#include <map>
std::multimap<key_type, value_type> mymap;
```
其中,key_type表示键的类型,value_type表示值的类型。可以使用insert()函数向multimap中插入键值对,使用find()函数查找键对应的值,使用erase()函数删除指定的键值对。
以下是一个简单的multimap例子,演示了如何向multimap中插入键值对、查找键对应的值以及遍历multimap中的元素:
```c++
#include <iostream>
#include <map>
int main()
{
std::multimap<int, std::string> mymap;
mymap.insert(std::make_pair(1, "apple"));
mymap.insert(std::make_pair(2, "orange"));
mymap.insert(std::make_pair(1, "banana"));
std::cout << "Values for key 1: ";
auto range = mymap.equal_range(1);
for (auto it = range.first; it != range.second; ++it) {
std::cout << it->second << " ";
}
std::cout << std::endl;
std::cout << "All values: ";
for (auto it = mymap.begin(); it != mymap.end(); ++it) {
std::cout << it->second << " ";
}
std::cout << std::endl;
return 0;
}
```
运行结果为:
```
Values for key 1: apple banana
All values: apple orange banana
```
在这个例子中,我们创建了一个multimap,插入了三个键值对。然后,我们使用equal_range()函数查找键为1的所有值,并使用迭代器遍历输出。最后,我们遍历整个multimap,输出所有的值。
阅读全文