Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm map::begin() và map::end() trong C++ STL


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à ví dụ của hàm map::begin() và map::end() trong C++ STL.

Map trong C++ STL là gì?

Map là container liên hợp, cho phép lưu trữ các phần tử được hình thành từ tổ hợp khóa (key) và giá trị ánh xạ (mapped value) theo một thứ tự xác định. Trong container map, dữ liệu luôn được sắp xếp nội bộ nhờ các khóa liên kết. Các giá trị trong map được truy xuất bằng khóa duy nhất của chúng.

map::begin() là gì?

map::begin() là hàm built-in trong C++ STL, được định nghĩa trong header . Hàm begin() dùng để truy cập phần tử ở đầu tiên của container map liên hợp.

Hàm này trả về một iterator trỏ đến phần tử đầu tiên của container. Khi container không có giá trị, iterator không thể giải tham chiếu.

Cú pháp

map_name.begin();

Tham số

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

Giá trị trả về

Hàm trả về một iterator trỏ đến giá trị đầu tiên của container map.

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ụ hoàn chỉnh

#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<<"Các phần tử của TP_1:\n"<< "\tKHOÁ\tGIÁ TRỊ\n";    for (auto i = TP_1.begin(); i!= TP_1.end(); i++) {       cout << "\t" << i->first << "\t" << i->second << '\n';    }    return 0; }

Kết quả

Các phần tử của TP_1: KHOÁ   GIÁ TRỊ 1     10 2     20 3     30 4     40

map::end() là gì?

map::end() là hàm built-in trong C++ STL, được định nghĩa trong header . Hàm end() dùng để truy cập phần tử sau phần tử cuối cùng của container, hay còn gọi là past-the-end.

Hàm này trả về một iterator trỏ đến phần tử tiếp theo của phần tử cuối cùng. Khi container không có giá trị, iterator không thể giải tham chiếu.

Thường begin() và end() được dùng cùng nhau để duyệt qua container map bằng cách cung cấp phạm vi.

Cú pháp

map_name.end();

Tham số

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

Giá trị trả về

Hàm trả về một iterator trỏ đến vị trí sau phần tử cuối cùng của container map.

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ụ hoàn chỉnh

#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<<"Các phần tử của TP_1:\n"<< "\tKHOÁ\tGIÁ TRỊ\n";    for (auto i = TP_1.begin(); i!= TP_1.end(); i++) {       cout << "\t" << i->first << "\t" << i->second << '\n';    }    return 0; }

Kết quả

Các phần tử của TP_1: KHOÁ   GIÁ TRỊ 1     10 2     20 3     30 4     40