Menu
CoddyTech

映射

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:
1

Map 方法

方法功能
begin()返回指向 map 第一个元素的迭代器
size()返回 map 中元素的数量
empty()返回 map 是否为空,是则返回 1,否则返回 0
erase()从 map 中删除指定键值对应的键值对
clear()删除 map 中的所有元素
challenge icon

挑战

中等

从输入中给出 5 个姓名和分数。姓名和分数交替输入,先输入一个姓名,再输入与该姓名对应的分数,依此类推。 
输入 10 个值后,再输入一个数字,表示你需要输出多少个已输入姓名对应的分数,每个分数单独占一行。

 

Input
John 25
Ben 38
Ana 70
Jacob 95
Drake 50
3
Ben
Drake
Jacob
Output
38
50
95

亲手试试

#include <map>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

C++ 标准模板库中的所有课

自己练习: C++ 在线编译器