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

Hàm multimap::swap() 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::swap() 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::swap() là gì?

multimap::swap() là hàm built-in trong C++ STL, được định nghĩa trong header <map>. Hàm này hoán đổi nội dung của hai container multimap. Hàm hoán đổi giá trị của hai multimap bất kể kích thước của chúng.

Khi được gọi, hàm nhận tham số là một multimap khác và hoán đổi nội dung với multimap hiện tại.

Cú pháp

multimap_name.swap(multimap& multimap_name2);

Tham số

  • map_name2 – Đối tượng multimap khác muốn hoán đổi dữ liệu.

Giá trị trả về

Hàm này không trả về giá trị nào.

Ví dụ minh họa

#include <iostream>
#include <map>
using namespace std;

int main() {
    multimap<int, int> mul_1;
    multimap<int, int> mul_2;
    
    // Chèn phần tử vào mul_1
    mul_1.insert({1, 10});
    mul_1.insert({2, 20});
    mul_1.insert({3, 30});
    mul_1.insert({4, 40});
    mul_1.insert({5, 50});
    
    // Chèn phần tử vào mul_2
    mul_2.insert({6, 60});
    mul_2.insert({7, 70});
    mul_2.insert({8, 80});
    mul_2.insert({9, 90});
    
    // Gọi swap
    mul_1.swap(mul_2);
    
    // Phần tử của mul_1 sau swap
    cout << "Phần tử trong multimap1:\n";
    for (auto i = mul_1.begin(); i != mul_1.end(); i++) {
        cout << (*i).first << " " << (*i).second << "\n";
    }
    
    // Phần tử của mul_2 sau swap
    cout << "\nPhần tử trong multimap2:\n";
    for (auto i = mul_2.begin(); i != mul_2.end(); i++) {
        cout << (*i).first << " " << (*i).second << "\n";
    }
    
    return 0;
}

Kết quả

Phần tử trong multimap1:
6 60
7 70
8 80
9 90

Phần tử trong multimap2:
1 10
2 20
3 30
4 40
5 50