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();