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

multimap ::begin () và multimap ::end () 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 các hàm multimap ::begin () và multimap ::end () 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 thuận lợi cho việc 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 ::begin () là gì?

Hàm multimap ::begin () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . begin () được sử dụng để truy cập phần tử nằm ở đầu của vùng chứa đa bản đồ được liên kết.

Hàm này trả về một trình vòng lặp trỏ đến phần tử đầu tiên của vùng chứa. Khi vùng chứa không có giá trị trong đó, trình lặp không thể xác định được

Cú pháp

multimap_name.begin();

Tham số

Hàm không chấp nhận tham số.

Giá trị trả về

Hàm này trả về một trình lặp đang trỏ đến giá trị đầu tiên của vùng chứa bản đồ.

Đầu vào

std::multimap<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.begin();

Đầu ra

a:10

Ví dụ

multimap ::begin ()

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //fetching first pair in multimap
   auto i = mul.begin();
   cout<<"First element in multimap is: ";
   cout << "{" << i->first << ", " << i->second << "}\n";
   //displaying multimap elements
   cout << "\nElements in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto it = mul.begin(); it!= mul.end(); ++it){
      cout << it->first << '\t' << it->second << '\n';
   }
   return 0;
}

Đầu ra

NẾU CHÚNG TÔI CHẠY MÃ TRÊN, NÓ SẼ TẠO RA ĐẦU RA SAU -

First element in multimap is: {1, 10}
Elements in multimap is :
KEY ELEMENT
1 10
2 20
3 30
4 40
5 50

Multimap ::end () là gì?

Hàm multimap ::end () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . end () được sử dụng để truy cập phần tử đứng sau phần tử cuối cùng trong vùng chứa nhiều bản đồ hoặc trước phần tử cuối cùng.

Hàm này trả về một trình lặp trỏ đến phần tử bên cạnh phần tử cuối cùng của vùng chứa. Khi vùng chứa không có giá trị nào trong đó, trình lặp không thể được tham chiếu

Thông thường begin () và end () được sử dụng để lặp qua vùng chứa bản đồ bằng cách cung cấp cho chúng phạm vi.

Cú pháp

multimap_name.end();

Tham số

Hàm không chấp nhận tham số.

Giá trị trả về

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

Đầu vào

std::multimap<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.end();

Đầu ra

error

Ví dụ

multimap ::end ()

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //displaying multimap elements
   cout << "\nElemenst in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto it = mul.begin(); it!= mul.end(); ++it){
      cout << it->first << '\t' << it->second << '\n';
   }
   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 -

Elements in multimap is :
KEY ELEMENT
1 10
2 20
3 30
4 40
5 50