Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm map::find() trong C++ STL.
Map trong C++ STL là gì?
Map là container liên hợp, cho phép lưu trữ các phần tử được hình thành từ tổ hợp khóa (key) và giá trị ánh xạ (mapped value) theo một thứ tự xác định. Trong container map, dữ liệu luôn được sắp xếp nội bộ nhờ các khóa liên kết. Các giá trị trong map được truy xuất bằng khóa duy nhất của chúng.
map::find() là gì?
map::find() là hàm nằm trong header
Cú pháp
map_name.find(key_value k);
Tham số
Hàm chấp nhận tham số sau:
Tham số
k: Đây là giá trị khóa mà ta muốn tìm kiếm từ container map.
Giá trị trả về
Trả về iterator trỏ đến phần tử liên kết với khóa k.
Ví dụ
Đầu vào
map<char, int> newmap; newmap['a'] = 1; newmap['b'] = 2; newmap.find(b);
Đầu ra
2
Ví dụ hoàn chỉnh
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); cout<<"TP Map là: \n"; cout << "KHOÁ\tGIÁ TRỊ\n"; for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) { cout << i->first << "\t" << i->second << endl; } //Tìm giá trị map tại vị trí auto var = TP_Map.find(1); cout<<"Phần tử tìm thấy tại vị trí "<<var->first<<" là: "<<var->second; auto var_1 = TP_Map.find(2); cout<<"\nPhần tử tìm thấy tại vị trí "<<var_1->first<<" là: "<<var_1->second; return 0; }Kết quả
TP Map là: KHOÁ GIÁ TRỊ 1 10 2 30 3 50 4 70 Phần tử tìm thấy tại vị trí 1 là: 10 Phần tử tìm thấy tại vị trí 2 là: 30
Ví dụ khác
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); cout<<"TP Map là: \n"; cout << "KHOÁ\tGIÁ TRỊ\n"; for (auto i = TP_Map.find(2); i!= TP_Map.end(); i++) { cout << i->first << "\t" << i->second << endl; } return 0; }Kết quả
TP Map là: KHOÁ GIÁ TRỊ 2 30 3 50 4 70