C++ STL: Sử dụng Map
Hi chào mừng các bạn đến với chủ đề: Lập trình c++ STL.
Bài viết này chia sẻ về cách sử dụng map trong c++
Khi các bạn có một list các cặp đôi dữ liệu đi với nhau, bạn cần một bảng ánh xạ dữ liệu kiểu như:
với dữ liệu a => sẽ có kết quả b
Thì sử dụng std::map trong thư viện tiêu chuẩn mà một giải pháp hiệu quả
1. Sử dụng và khởi tạo std::map
#include <conio.h>
#include<iostream>
#include<map>
#include <string>
using namespace std;
int main()
{
std::map<int, std::string> data_map;
data_map[2] = "Monday";
data_map[3]= "Tuesday";
data_map[4]= "Wednesday";
_getch();
return 0;
}
2. Duyệt map bằng việc sử dụng iterator.
std::map<int, std::string> data_map;
data_map[2] = "monday";
data_map[3]= "tuesday";
data_map[4]= "wednesday";
std::map<int, std::string>::iterator it;
for (it =data_map.begin(); it!= data_map.end(); ++it)
{
std::cout << it->first << " => " << it->second << '\n';
}
3. Kiểm tra empty, lấy số lượng với hàm size(), xóa 1 phần tử bất kỳ, tìm kiếm 1 phần tử, xóa toàn bộ danh sách
std::map<int, std::string> data_map;
data_map[2]="monday";
data_map[3]= "tuesday";
data_map[4]= "wednesday";
data_map[5]= "thursday";
data_map[6]= "friday";
bool is_empty = data_map.empty();
int length = data_map.size();
data_map.erase(2); // xoa 1 phan tu
std::map<int, std::string>::iterator it;
it = data_map.find(3); // tim mot phan tu
data_map.erase(it);
// xoa toan bo phan tu tu begin to end
data_map.erase(data_map.begin(), data_map.end());
data_map.clear();
