multimap使用实例代码
时间: 2024-10-29 10:03:19 浏览: 15
`std::multimap`是C++标准库中的一个容器,它是一个关联容器,类似于`map`,但是允许每个键关联到多个值。这意味着每个键可以有任意数量的值与其关联,而不是仅有一个。这在需要存储一对多关系的数据结构中非常有用。
下面是一个简单的`std::multimap`使用实例代码:
```cpp
#include <iostream>
#include <map>
#include <string>
int main() {
// 创建一个字符串到整数的多映射
std::multimap<std::string, int> students_scores;
// 添加一些学生分数
students_scores.insert(std::make_pair("Alice", 90));
students_scores.insert(std::make_pair("Bob", 85));
students_scores.insert(std::make_pair("Charlie", 92));
students_scores.insert(std::make_pair("Alice", 88)); // 更新Alice的成绩
// 遍历并打印学生及其成绩
for (const auto& pair : students_scores) {
std::cout << "Student: " << pair.first << ", Score: " << pair.second << std::endl;
}
// 查找特定学生的最高分
auto it = students_scores.find("Alice");
if (it != students_scores.end()) {
std::cout << "Alice's highest score: " << it->second << std::endl;
} else {
std::cout << "Alice not found." << std::endl;
}
return 0;
}
```
在这个例子中,我们创建了一个`students_scores`多映射,Alice有两个分数(90和88),而Bob只有一个分数。通过`find()`函数,我们可以找到Alice的最新成绩(88)。
阅读全文