C++ STL中的forward_list::swap()

C++ STL中的forward_list::swap()

forward_list::swap() 是CPP STL中的一个内置函数,可将第一个给定的forward_list的内容与另一个forward_list交换。

语法:

swap(forward_list 第一个,forward_list 第二个)
               或者 
forward_list1.swap(forward_list 第二个)

参数: 该函数接受两个参数,如下所示:

  • 第一个–第一个forward_list
  • 第二个–第二个forward_list

返回值: 该函数不返回任何内容。它交换了两个列表。

下面的程序演示了上述函数:

程序1:

// CPP program that demonstrates the
// forward_list::swap() function
// when two parameters is passed
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // 初始化两个forward_list
    forward_list<int> firstlist = { 9, 8, 7, 6 };
  
    forward_list<int> secondlist = { 10, 20, 30 };
  
    // 交换前打印firstlist和secondlist的元素
    cout << "交换前的firstlist:";
    for (auto it = firstlist.begin(); it != firstlist.end(); ++it)
        cout << *it << " ";
  
    cout << "\n交换前的secondlist:";
    for (auto it = secondlist.begin(); it != secondlist.end(); ++it)
        cout << *it << " ";
  
    // 交换两个列表
    swap(firstlist, secondlist);
  
    // 交换后打印firstlist和secondlist的元素
    cout << "\n\n交换后的firstlist:";
  
    for (auto it = firstlist.begin(); it != firstlist.end(); ++it)
        cout << *it << " ";
    cout << "\n交换后的secondlist:";
    for (auto it = secondlist.begin(); it != secondlist.end(); ++it)
        cout << *it << " ";
    return 0;
}
交换前的firstlist:9 8 7 6 
交换前的secondlist:10 20 30 

交换后的firstlist:10 20 30 
交换后的secondlist:9 8 7 6

程序2:

// CPP program that demonstrates the
// forward_list::swap() function
// when two parameters is passed
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // 初始化两个forward_list
    forward_list<int> firstlist = { 9, 8, 7, 6 };
  
    forward_list<int> secondlist = { 10, 20, 30 };
  
    // 交换前打印firstlist和secondlist的元素
    cout << "交换前的firstlist:";
    for (auto it = firstlist.begin(); it != firstlist.end(); ++it)
        cout << *it << " ";
  
    cout << "\n交换前的secondlist:";
    for (auto it = secondlist.begin(); it != secondlist.end(); ++it)
        cout << *it << " ";
  
    // 交换两个列表
    firstlist.swap(secondlist);
  
    // 交换后打印firstlist和secondlist的元素
    cout << "\n\n交换后的firstlist:";
  
    for (auto it = firstlist.begin(); it != firstlist.end(); ++it)
        cout << *it << " ";
    cout << "\n交换后的secondlist:";
    for (auto it = secondlist.begin(); it != secondlist.end(); ++it)
        cout << *it << " ";
    return 0;
}
在交换操作之前,第一个列表是:9 8 7 6
在交换操作之前,第二个列表是:10 20 30

在交换操作之后,第一个列表是:10 20 30
在交换操作之后,第二个列表是:9 8 7 6

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程