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

map ::begin () và 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 map ::begin () và map ::end () trong C ++ STL.

Bản đồ trong C ++ STL là gì?

Bản đồ là vùng chứa liên kết, 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 vùng chứa bản đồ, 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. Các giá trị trong vùng chứa bản đồ được truy cập bằng các khóa duy nhất của nó.

Bản đồ ::begin () là gì?

Hàm map ::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 ở phần đầu của vùng chứ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ị nào trong đó, trình lặp không thể được tham chiếu đến

Cú pháp

map_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 đồ.

Ví dụ

Đầu vào

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

Đầu ra

a:10

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_1;
   TP_1[1] = 10;
   TP_1[2] = 20;
   TP_1[3] = 30;
   TP_1[4] = 40;
   cout<<"Elements of TP_1 after swap:\n"<< "\tKEY\tELEMENT\n";
   for (auto i = TP_1.begin(); i!= TP_1.end(); i++) {
      cout << "\t" << i->first << "\t" << i->second << '\n';
   }
   return 0;
}

Đầu ra

Elements of TP_1 after swap:
KEY    ELEMENT
1       10
2       20
3       30
4       40

Bản đồ ::end () là gì?

Hàm map ::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 hoặc trước phần tử cuối cùng.

Hàm này trả về một trình vòng 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 đến

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

map_name.end();

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ị cuối cùng của vùng chứa bản đồ trong quá khứ.

Ví dụ

Đầu vào

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

Đầu ra

error

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_1;
   TP_1[1] = 10;
   TP_1[2] = 20;
   TP_1[3] = 30;
   TP_1[4] = 40;
   cout<<"Elements of TP_1 after swap:\n"<< "\tKEY\tELEMENT\n";
   for (auto i = TP_1.begin(); i!= TP_1.end(); i++) {
      cout << "\t" << i->first << "\t" << i->second << '\n';
   }
   return 0;
}

Đầu ra

Elements of TP_1 after swap:
KEY    ELEMENT
1       10
2       20
3       30
4       40