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à các ví dụ của hàm multimap::lower_bound() trong C++ STL.
Multimap trong C++ STL là gì?
Multimap là container liên kết, tương tự như map. Nó lưu trữ các phần tử dạng cặp key-value theo thứ tự cụ thể. Multimap cho phép nhiều phần tử có cùng một key. Dữ liệu luôn được sắp xếp theo key.
Hàm multimap::lower_bound() là gì?
multimap::lower_bound() là hàm built-in trong C++ STL, được định nghĩa trong header <map>. Hàm này trả về iterator trỏ đến lower bound (giới hạn dưới) của key k trong multimap. Iterator trả về trỏ đến phần tử đầu tiên mà key không nhỏ hơn k (tức là key >= k).
Cú pháp
multi.lower_bound(key& k);
Tham số
- k – Key cần tìm kiếm.
Giá trị trả về
Trả về iterator trỏ đến phần tử đầu tiên có key không nhỏ hơn k. Nếu không tìm thấy, trả về iterator end().
Ví dụ minh họa
#include <bits/stdc++.h>
using namespace std;
int main() {
// Tạo multimap
multimap<int, int> mul;
mul.insert({2, 10});
mul.insert({1, 20});
mul.insert({1, 30});
mul.insert({3, 40});
mul.insert({3, 50});
mul.insert({4, 60});
// lower_bound của key 1
auto i = mul.lower_bound(1);
cout << "Lower bound của key 1: " << (*i).first << " " << (*i).second << endl;
// Lower bound của key 2
i = mul.lower_bound(2);
cout << "Lower bound của key 2: " << (*i).first << " " << (*i).second << endl;
// Lower bound của key 3
i = mul.lower_bound(3);
cout << "Lower bound của key 3: " << (*i).first << " " << (*i).second << endl;
return 0;
}
Kết quả
Lower bound của key 1: 1 20
Lower bound của key 2: 2 10
Lower bound của key 3: 3 40