Computer >> Máy Tính >  >> Lập trình >> C ++

multimap low_bound () hàm trong C ++ STL


Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và ví dụ của hàm multimap ::Lower_bound () trong C ++ STL.

Multimap trong C ++ STL là gì?

Multimaps là các vùng chứa kết hợp, tương tự như vùng chứa bản đồ. Nó cũng tạo điều kiện để lưu trữ các phần tử được hình thành bởi sự kết hợp của khóa-giá trị và giá trị được ánh xạ theo một thứ tự cụ thể. Trong một vùng chứa nhiều bản đồ có thể có nhiều phần tử được liên kết với cùng một khóa. Dữ liệu luôn được sắp xếp nội bộ với sự trợ giúp của các khóa liên quan.

Multimap ::Lower_bound () là gì?

Hàm multimap ::Lower_bound () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . low_bound () trả về một trình vòng lặp đến giới hạn dưới của vùng chứa đa bản đồ. Hàm này trả về một trình lặp trỏ đến phần tử đầu tiên được coi là đi trước khóa k.

Cú pháp

multi.lower_bound(key& k);

Tham số

Hàm này chỉ chấp nhận 1 tham số -

  • k - Chìa khóa mà chúng tôi muốn tìm kiếm.

Giá trị trả về

Hàm này trả về trình lặp đang trỏ đến phần tử đầu tiên của khóa ‘k’ được coi là đi trước khóa k.

Đầu vào

multimap<char, int> newmap;
multimap<char, int > newmap;
newmap.insert(make_pair(‘a’, 1));
newmap.insert(make_pair(‘b’, 2));
newmap.insert(make_pair(‘c’, 3));
newmap.lower_bound(b);

Đầu ra

a:1

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main(){
   //creating a 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 of 1
   auto i = mul.lower_bound(1);
   cout << "Lower bound of key 1 is: ";
   cout << (*i).first << " " << (*i).second << endl;
   // Lower bound of 2
   i = mul.lower_bound(2);
   cout << "Lower bound of key 2 is: ";
   cout << (*i).first <<" "<<(*i).second << endl;
   // Lower bound of 3
   i = mul.lower_bound(3);
   cout << "Lower bound of key 3 is: ";
   cout << (*i).first << " " << (*i).second << endl;
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Lower bound of key 1 is: 1 20
Lower bound of key 2 is: 2 10
Lower bound of key 3 is: 3 40