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

Hàm 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 hoạt động, cú pháp và các ví dụ của hàm multimap::begin() và multimap::end() trong C++ STL.

Multimap trong C++ STL là gì?

Multimap là container liên kết, tương tự như map. Nó lưu trữ các phần tử dạng cặp key-value theo thứ tự cụ thể. Multimap cho phép nhiều phần tử có cùng một key. Dữ liệu luôn được sắp xếp theo key.

Hàm multimap::begin() là gì?

multimap::begin() là hàm built-in trong C++ STL, được định nghĩa trong header <map>. Hàm này trả về iterator trỏ đến phần tử đầu tiên của multimap. Khi container rỗng, iterator không thể dereference.

Cú pháp

multimap_name.begin();

Tham số

Hàm này không nhận tham số nào.

Giá trị trả về

Trả về iterator trỏ đến phần tử đầu tiên của container.

Hàm multimap::end() là gì?

multimap::end() là hàm built-in trong C++ STL, được định nghĩa trong header <map>. Hàm này trả về iterator trỏ đến vị trí sau phần tử cuối cùng (past-the-end) của multimap. Khi container rỗng, iterator không thể dereference.

Thường dùng begin() và end() cùng nhau để duyệt qua toàn bộ container bằng cách xác định phạm vi [begin, end).

Cú pháp

multimap_name.end();

Tham số

Hàm này không nhận tham số nào.

Giá trị trả về

Trả về iterator trỏ đến vị trí past-the-end của container.

Ví dụ minh họa

#include <bits/stdc++.h>
using namespace std;

int main() {
    multimap<int, int> mul;
    
    // Chèn phần tử
    mul.insert({1, 10});
    mul.insert({2, 20});
    mul.insert({3, 30});
    mul.insert({4, 40});
    mul.insert({5, 50});
    
    // Lấy phần tử đầu tiên
    auto i = mul.begin();
    cout << "Phần tử đầu tiên trong multimap: ";
    cout << "{" << i->first << ", " << i->second << "}\n";
    
    // Duyệt multimap
    cout << "\nCác phần tử trong multimap:\n";
    cout << "KEY\tELEMENT\n";
    for (auto it = mul.begin(); it != mul.end(); ++it) {
        cout << it->first << '\t' << it->second << '\n';
    }
    
    return 0;
}

Kết quả

Phần tử đầu tiên trong multimap: {1, 10}
Các phần tử trong multimap:
KEY	ELEMENT
1	10
2	20
3	30
4	40
5	50