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

multimap find () 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 ::find () 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 giá trị khóa 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 ::find () là gì?

multimap ::find () một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . find () tìm kiếm các phần tử trong vùng chứa được liên kết với khóa K. Hàm này trả về một trình vòng lặp trỏ đến phần tử đơn lẻ trong vùng chứa. Nó trả về một trình lặp nếu phần tử được tìm thấy trong vùng chứa.

Cú pháp

iterator multimap_name.find(key);

Tham số

Nó chấp nhận một khóa tham số chỉ định khóa được tìm kiếm trong vùng chứa.

Trả về giá trị

Hàm này trả về một trình lặp tham chiếu đến vị trí mà khóa hiện diện trong vùng chứa.

Đầu vào

multimap<char, int > newmap;
newmap.insert(make_pair(‘A’, 22));
newmap.insert(make_pair(‘B’, 78));
newmap.insert(make_pair(‘C’, 66));
newmap.insert(make_pair(‘D’, 81));
newmap.insert(make_pair(’E’, 43));
newmap.find(‘D’);

Đầu ra

81

Đầu vào

multimap<char, int > newmap;
newmap.insert(make_pair(1, 15));
newmap.insert(make_pair(2, 18));
newmap.insert(make_pair(3, 45));
newmap.insert(make_pair(4, 66));
newmap.find(4);

Đầu ra

66

Có thể tuân theo phương pháp tiếp cận

  • Đầu tiên, chúng tôi khởi tạo Bản đồ.

  • Sau đó, chúng tôi chèn phần tử bằng Key.

  • Sau đó, chúng tôi tìm vị trí của Key bằng cách sử dụng hàm mapfind ().

  • Sau đó, chúng tôi in khóa mong muốn với phần tử của nó.

Bằng cách sử dụng phương pháp trên, chúng ta có thể tìm thấy bất kỳ khóa nào trong vùng chứa, chúng ta cũng có thể tìm thấy vị trí của khóa trong một phạm vi.

Ví dụ

#include<iostream.h>
#include<map.h>
Using namespace std;
int main( ){
   Multimap<char, int> mp;
   / / inserting the element
   mp.insert({‘b’, 23});
   mp.insert({‘a’, 46});
   mp.insert({‘c’, 78});
   mp.insert({‘e’, 11});
   mp.insert({‘d’, 34});
   cout<< “ The Key value after key c : \n” ;
   cout<< “ Key\t Element”;
   for(auto i = mp.find(‘c’); i != mp.end( ); i++)
      cout<<i-first<< “\t” << i->second << ‘\n’;
   return 0;
}

Đầu ra

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

KEY ELEMENT
c 78
d 34
e 11

Ví dụ

#include<iostream.h>
#include<map.h>
Using namespace std;
int main( ){
   Multimap<char, int> mp;
   / / inserting the element
   mp.insert({‘1’, 33});
   mp.insert({‘2’, 66});
   mp.insert({‘3’, 55});
   mp.insert({‘4’, 11});
   mp.insert({‘5’, 44});
   cout<< “ The Key value after key 4 : \n” ;
   cout<< “ Key\t Element”;
   for(auto i = mp.find(‘4’); i != mp.end( ); i++)
      cout<<i-first<< “\t” << i->second << ‘\n’;
   return 0;
}

Đầu ra

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

KEY ELEMENT
4 11
5 44