Trước tiên cần include thư viện của map để có thể sử dụng
#include <map> map < kiểu dữ liệu key, kiểu dữ liệu value > (Tên map);VD:
map<int, int> mp_int;map<string, int> mp_string;map<int, string>::iterator it;Để lấy giá trị Key: it->first
Để lấy giá trị Value: it->second
map<int, string> mp;mp[0] = "Vinh";mp[1] = "ITMC";for(map<int, string>::iterator it = mp.begin(); it != mp.end(); it++){ cout << it->first << " : " << it->second << endl;}map<int, string> mp;mp[0] = "Vinh";mp[1] = "ITMC";for(auto it : mp){ cout << it.first << " : " << it.second << endl;}Trả về con trỏ iterator đến vị trí đầu tiên của map
map<int, int> mp;map<int, int> mp::iterator it = mp.begin();Trả về con trỏ iterator đến vị trí past-the-end của map, đây là con trỏ chỉ rằng map đã kết thúc (không phải phần tử cuối cùng của map)
Trả về kích thước hiện tại của map
map<int, int> mp;int size = mp.size();Trả về boolean kiểm tra map có đang rỗng hay không?
map<int, int> mp;bool isEmpty = mp.empty();Chèn thêm phần tử vào map, vị trí phần tử thêm vào map sẽ được tự động sắp xếp vị trí theo thứ tự của key
map<int, string> mp;// các lệnh insert bên dưới tương đương với nhaump.insert(pair<int, string>(1, "Tran Quang Vinh"));mp.insert({1, "Tran Quang Vinh"});mp[1] = "Tran Quang Vinh";Xóa hết tất cả phần tử trong mảng
map<int, int> mp;mp.clear();Hoán đổi data của 2 map cho nhau
map<int, int> mp1;map<int, int> mp2;mp1.swap(mp2);Xóa phần tử khỏi map, nhưng không làm thay đổi size
erase(iterator)
map<int, string> mp;mp[1] = "Vinh";map<int, string>::iterator it = mp.begin();mp.erase(it);erase(key)
map<int, string> mp;mp[1] = "Vinh";mp.erase(1);erase(iterator first, iterator last) : Xóa tất cả giá trị trong đoạn [first; last]
map<int, string> mp;mp[1] = "Vinh";mp[2] = "Quang";map<int, string>::iterator it_first = mp.begin();map<int, string>::iterator it_last = it_first + 1;mp.erase(it_first, it_last);Trả về iterator trỏ đến khóa cần tìm kiếm, nếu không tìm thấy sẽ trả về map.end()
map<int, string> mp;mp[1] = "Vinh";map<int, string>::iterator it = mp.find(1);Và còn nhiều phương thức khác : Xem thêm tại đây
Bài tập 1: Nhập vào 1 chuỗi chỉ gồm các kí tự in thường, tìm và in ra kí tự có số lần xuất hiện nhiều nhất.
Nếu có nhiều kí tự thỏa mãn thì in ra tất cả kí tự đó.
#include <iostream>#include <map>using namespace std;int main(){ string s; cin>>s; map<char, int> mp; for(int i=0; i<s.length(); i++){ char ch = s[i];. ++mp[ch]; } int maxx = 0; for(map<char, int>::iterator it = mp.begin(); it != mp.end(); it++){ if(it->second > maxx) maxx = it->second; } for(map<char, int>::iterator it = mp.begin(); it != mp.end(); it++){ if(it->second == maxx) { cout << "ki tu " << it->first << " xuat hien nhieu nhat " << it->second << " lan" << endl; } } return 0;}abcdaaabcdki tu a xuat hien 4 lan