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

📅  最后修改于: 2023-12-03 15:13:55.540000             🧑  作者: Mango

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

简介

list.swap()函数是C++ STL中list容器所提供的成员函数之一。该函数用于交换两个list容器的内容,即将调用该函数的list容器的元素和参数中的list容器的元素进行交换。

语法

list1.swap(list2);

其中,list1为调用该函数的list容器,list2为另一个list容器。

返回值

该函数没有返回值。

示例
#include <iostream>
#include <list>

using namespace std;

int main() {
    list<int> list1 = { 1, 2, 3 };
    list<int> list2 = { 4, 5, 6 };
    cout << "Before swap, list1: ";
    for (const auto& x : list1) {
        cout << x << " ";
    }
    cout << endl;
    cout << "Before swap, list2: ";
    for (const auto& x : list2) {
        cout << x << " ";
    }
    cout << endl;
    list1.swap(list2);
    cout << "After swap, list1: ";
    for (const auto& x : list1) {
        cout << x << " ";
    }
    cout << endl;
    cout << "After swap, list2: ";
    for (const auto& x : list2) {
        cout << x << " ";
    }
    cout << endl;
    return 0;
}

输出结果:

Before swap, list1: 1 2 3
Before swap, list2: 4 5 6
After swap, list1: 4 5 6
After swap, list2: 1 2 3
注意事项
  • 该函数的时间复杂度为常数级别,即O(1)。
  • 该函数并不会改变list容器的大小,只会改变存储在其中的元素。
  • 该函数不会抛出任何异常。