📜  C++ STL-Multiset.swap()函数(1)

📅  最后修改于: 2023-12-03 14:39:51.454000             🧑  作者: Mango

C++ STL - Multiset.swap()函数

Multiset是C++ STL中的一个容器,它类似于set,但可以存储多个相同的元素。swap函数是Multiset类中的一个成员函数,用于将两个Multiset对象的内容进行交换。

函数原型
void swap(multiset& other);

其中,other代表另一个Multiset对象。

使用方法
#include <iostream>
#include <set>

using namespace std;

int main()
{
    // 创建两个Multiset对象
    multiset<int> set1 = {1, 2, 3};
    multiset<int> set2 = {4, 5, 6};

    cout << "交换前:" << endl;
    cout << "set1: ";
    for (auto it = set1.begin(); it != set1.end(); it++)
    {
        cout << *it << " ";
    }
    cout << endl;

    cout << "set2: ";
    for (auto it = set2.begin(); it != set2.end(); it++)
    {
        cout << *it << " ";
    }
    cout << endl;

    // 交换两个Multiset对象的内容
    set1.swap(set2);

    cout << "交换后:" << endl;
    cout << "set1: ";
    for (auto it = set1.begin(); it != set1.end(); it++)
    {
        cout << *it << " ";
    }
    cout << endl;

    cout << "set2: ";
    for (auto it = set2.begin(); it != set2.end(); it++)
    {
        cout << *it << " ";
    }
    cout << endl;

    return 0;
}

输出结果如下:

交换前:
set1: 1 2 3
set2: 4 5 6
交换后:
set1: 4 5 6
set2: 1 2 3

从输出结果可以看出,两个Multiset对象的内容已被成功交换。

注意事项
  • Multiset对象的类型必须相同才能进行交换。
  • 交换操作并不会影响Multiset对象的大小,只是交换了对象的内容。