Tìm hiểu về cách sử dụng set, map, multiset và multimap trong lập trình C++ Trong bài viết này Stanford sẽ giúp các bạn học lập trình c++ tìm hiểu cách thức sử dụng với danh sách dạng set, map, multiset và multimap trong thư viện STL của C++ qua những ví dụ thực tế. Thư viện chuẩn STL (Standard Template Library) của C++ là một phần rất quan trọng trong lập trình C++, cung cấp các cấu trúc dữ liệu và thuật toán được tối ưu hóa sẵn. Dưới đây là phần giải thích chi tiết và ví dụ minh họa cho từng loại container: set, map, multiset, và multimap trong C++. 1. set – Tập hợp không trùng lặp, có thứ tự Đặc điểm set trong lập trình c++ là: - Lưu trữ các phần tử duy nhất. - Tự động sắp xếp theo thứ tự tăng dần (mặc định). - Tìm kiếm nhanh (logarithmic time). #include <iostream> #include <set> using namespace std; int main() { set<int> s = {3, 1, 4, 1, 5}; s.insert(2); for (int x : s) cout << x << " "; return 0; } Kết quả: 1 2 3 4 5 2. map – Bản đồ ánh xạ cặp khóa và giá trị Đặc điểm của map trong lập trình c++ đó là: - Lưu trữ cặp key -> value. - Mỗi key là duy nhất. - Tự động sắp xếp theo key. Ví dụ: #include <iostream> #include <map> using namespace std; int main() { map<string, int> age; age["Alice"] = 25; age["Bob"] = 30; age["Alice"] = 28; // Ghi đè giá trị for (auto p : age) { cout << p.first << ": " << p.second << endl; } return 0; } Kết quả hiển thị: Alice: 28 Bob: 30 3. multiset – Tập hợp có thể trùng lặp, có thứ tự Đặc điểm của multiset trong lập trình c++: - Cho phép các phần tử trùng lặp. - Tự động sắp xếp. Ví dụ: #include <iostream> #include <set> using namespace std; int main() { multiset<int> ms = {1, 2, 2, 3}; ms.insert(2); for (int x : ms) cout << x << " "; return 0; } Kết quả: 1 2 2 2 3 4. multimap – Bản đồ cho phép nhiều giá trị cho cùng một khóa Đặc điểm của multimap trong lập trình c++: - Cho phép nhiều cặp có cùng key. - Tự động sắp xếp theo key. Ví dụ: #include <iostream> #include <map> using namespace std; int main() { multimap<string, int> scores; scores.insert({"Alice", 90}); scores.insert({"Bob", 85}); scores.insert({"Alice", 95}); for (auto p : scores) { cout << p.first << ": " << p.second << endl; } return 0; } Kết quả hiển thị: Alice: 90 Alice: 95 Bob: 85 Như vậy qua bài viết này Stanford đã giúp các bạn học lập trình c++ tìm hiểu cách sử dụng set, map, multiset và multimap trong thư viện chuẩn STL của C++ với những ví dụ minh họa chi tiết. Để hiểu rõ hơn từng mục này các bạn có thể thực hành theo ví dụ hướng dẫn nhé. Bên cạnh việc tự học c++ để hiệu quả bạn có thể lựa chọn tham gia khóa học lập trình c++ cho người mới cùng chuyên gia giàu kinh nghiệm Stanford. Đăng ký tham gia khoá học lập trình c++ cho người mới tại đây: http://bit.ly/2SLPYFF. Hoặc gọi ngay cho Stanford theo hotline: 0963.723.236 - 0866.586.366 để được gọi lại tư vấn trực tiếp nhé. ==========🎬 🎬 🎬========== ☎️STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ Hotline: 0963 723 236 - 0866 586 366 Website: https://stanford.com.vn Facebook: http://bit.ly/2FN0TYb Youtube: http://bit.ly/2TkKT7I Tags: set, map, multiset và multimap trong c++