Ánh xạ
Bài học 9 trên 23 trong khóa học C++ - Thư viện mẫu chuẩn của Coddy.
Map là một vùng chứa kết hợp, lưu trữ các phần tử gồm một giá trị khóa và một giá trị được ánh xạ, theo một thứ tự cụ thể.

Mỗi phần tử có một giá trị khóa duy nhất. Ngoài ra, theo mặc định, các phần tử được lưu trữ theo thứ tự tăng dần dựa trên giá trị khóa.
Vậy, làm thế nào để triển khai map trong C++? Trước tiên, chúng ta cần thêm tệp tiêu đề map bằng #include <map>.
Cú pháp khởi tạo map trong C++ như sau:
map<key_DataType, value_DataType> map_name ;Để khai báo một map như trên, có giá trị chuỗi làm khóa và số nguyên làm giá trị tương ứng, chúng ta dùng cú pháp sau:
map<string, int> myMap;Tiếp theo, chúng ta cần tìm hiểu cách chèn phần tử (cặp khóa-giá trị) vào map. Có hai phương thức để chèn cặp khóa-giá trị mới vào map.
Phương thức đầu tiên là dùng dấu bằng.
map_name[key] = value;Cách này sẽ lưu giá trị của 'value' trong map với khóa là 'key'.
myMap["apple"] = 3;
cout << myMap["apple"];Output:
3Phương thức tiếp theo là dùng hàm insert(). Hàm insert thêm một cặp khóa-giá trị mới vào map với khóa và giá trị đã chỉ định.
map_name.insert({key, value});myMap.insert({"banana", 1});
cout << myMap["banana"];Output:
1Các phương thức của map
| Phương thức | Chức năng |
| begin() | Trả về một trình lặp trỏ đến phần tử đầu tiên của map |
| size() | Trả về số phần tử trong map |
| empty() | Trả về 1 nếu map rỗng hoặc 0 nếu không rỗng |
| erase() | Xóa cặp có giá trị khóa được chỉ định khỏi map |
| clear() | Xóa tất cả phần tử khỏi map |
Thử thách
Trung bìnhCho trước 5 tên và điểm số từ đầu vào. Tên và điểm số được nhập xen kẽ, nhập một tên, sau đó nhập điểm số tương ứng với tên vừa nhập, cứ tiếp tục như vậy.
Sau 10 đầu vào, nhập thêm một số cho biết điểm số của bao nhiêu tên đã nhập cần được in ra, mỗi điểm số trên một dòng mới.
Input
John 25
Ben 38
Ana 70
Jacob 95
Drake 50
3
Ben
Drake
JacobOutput
38
50
95Tự làm thử
#include <map>
#include <iostream>
using namespace std;
int main()
{
// Enter your code here
return 0;
}Tất cả bài học trong C++ - Thư viện mẫu chuẩn
Tự luyện tập: Trình biên dịch C++ online