multimap:多重映射,允许存储多个相同键的键-值对,并按键升序排序。
#include <map>
std::multimap
multimap<std::string, int> students; // 创建一个从学生姓名到分数的映射 multimap
students.insert(make_pair("Alice", 95));
students.insert(make_pair("Bob", 88));
students.insert(make_pair("Alice", 92)); // 可以插入重复键
students.insert(make_pair("Charlie", 75));
std::multimap
for (const auto& student : students) {
std::cout << student.first << ": " << student.second << std::endl;
}
students.erase("Alice");
你可以使用 find
函数来查找特定键的元素:
auto it = students.find("Bob");
if (it != students.end()) {
std::cout << "Found: " << it->first << ": " << it->second << std::endl;
} else {
std::cout << "Not Found" << std::endl;
}
关系数据库查询
:事件日志
:课程和学生的关系
:网络路由信息
:文件索引
:用户权限管理
:Web 应用程序
:社交网络
:购物车系统
:以下是一个综合示例,展示了如何使用 std::multimap
存储学生姓名和分数,并遍历它:
#include <iostream>
#include <map>
int main() {
std::multimap<std::string, int> students;
students.insert(std::make_pair("Alice", 95));
students.insert(std::make_pair("Bob", 88));
students.insert(std::make_pair("Alice", 92));
students.insert(std::make_pair("Charlie", 75);
for (const auto& student : students) {
std::cout << student.first << ": " << student.second << std::endl;
}
auto it = students.find("Bob");
if (it != students.end()) {
std::cout << "Found: " << it->first << ": " << it->second << std::endl;
} else {
std::cout << "Not Found" << std::endl;
}
students.erase("Alice");
for (const auto& student : students) {
std::cout << student.first << ": " << student.second << std::endl;
}
return 0;
}
那么multimap的用法就讲到这里,关注我,为大家持续分享更多的内容,让学习变得更简单,与君共勉,共同成长。