映射
Coddy C++ 标准模板库 课程的第 9 课,共 23 课。
Map 是一种关联容器,用于按照特定顺序存储由键值和映射值组成的元素。

每个元素都有唯一的键值。此外,默认情况下,元素会根据键值按升序存储。
那么,如何在 C++ 中实现 map 呢?首先,我们需要使用 #include <map> 引入 map 头文件。
初始化 C++ map 的语法如下:
map<key_DataType, value_DataType> map_name ;若要声明一个像上面这样的 map,其中键是字符串值,对应的值是整数,可以这样写:
map<string, int> myMap;接下来,我们要学习如何在map中插入元素(键值对)。有两种方法可以在 map 中插入新的键值对。
第一种方法是使用等号。
map_name[key] = value;这会将 'value' 的值以 'key' 为键存储到 map 中。
myMap["apple"] = 3;
cout << myMap["apple"];Output:
3第二种方法是使用 insert() 函数。insert 函数会将指定键和值组成的新键值对添加到 map 中。
map_name.insert({key, value});myMap.insert({"banana", 1});
cout << myMap["banana"];Output:
1Map 方法
| 方法 | 功能 |
| begin() | 返回指向 map 第一个元素的迭代器 |
| size() | 返回 map 中元素的数量 |
| empty() | 返回 map 是否为空,是则返回 1,否则返回 0 |
| erase() | 从 map 中删除指定键值对应的键值对 |
| clear() | 删除 map 中的所有元素 |
挑战
中等从输入中给出 5 个姓名和分数。姓名和分数交替输入,先输入一个姓名,再输入与该姓名对应的分数,依此类推。
输入 10 个值后,再输入一个数字,表示你需要输出多少个已输入姓名对应的分数,每个分数单独占一行。
Input
John 25
Ben 38
Ana 70
Jacob 95
Drake 50
3
Ben
Drake
JacobOutput
38
50
95亲手试试
#include <map>
#include <iostream>
using namespace std;
int main()
{
// Enter your code here
return 0;
}C++ 标准模板库中的所有课
自己练习: C++ 在线编译器