C++ STL中的unordered_set swap()

C++ STL中的unordered_set swap()

“unordered_set”中的swap()方法交换了两个容器的内容。它是公共成员函数。这个函数:

  • 通过内容变量的内容,与这个容器交换内容,这个变量是另一个包含相同类型但大小可能不同的元素的 unordered_set 对象。
  • 在调用这个成员函数后,这个容器中的元素是调用之前的变量中的元素,变量中的元素是这个容器中的元素。

语法:

void swap(unordered_set &another_unordered_set);

参数: 它接收同一类型的另一个容器对象another_unordered_set,它将与此容器交换。

返回: 它不返回任何值。

下面的程序说明了unordered_set swap()函数:

例子1:

#include <iostream>
#include <string>
#include <unordered_set>
  
using namespace std;
  
int main()
{
    // 设置两个容器的值
    unordered_set<string>
        first = { "FOR GEEKS" },
        second = { "GEEKS" };
  
    // 交换前的值
    cout << "before swap :- \n";
  
    cout << "1st container : ";
    for (const string& x : first)
        cout << x << endl;
  
    cout << "2nd container : ";
    for (const string& x : second)
        cout << x << endl;
  
    // 调用swap
    first.swap(second);
  
    // 交换后的值
    cout << "\nafter swap :- \n";
  
    // 显示第一个容器
    cout << "1st container : ";
    for (const string& x : first)
        cout << x << endl;
  
    // 显示第二个容器
    cout << "2nd container : ";
    for (const string& x : second)
        cout << x << endl;
  
    return 0;
}
before swap :- 
1st container : FOR GEEKS
2nd container : GEEKS

after swap :- 
1st container : GEEKS
2nd container : FOR GEEKS

例子2:

#include <iostream>
#include <string>
#include <unordered_set>
  
using namespace std;
  
int main()
{
    // 设置两个容器的值
    unordered_set<int>
        first = { 1, 2, 3 },
        second = { 4, 5, 6 };
  
    // 交换前的值
    cout << "before swap :- \n";
  
    cout << "1st container : ";
    for (const int& x : first)
        cout << x << " ";
    cout << endl;
  
    cout << "2nd container : ";
    for (const int& x : second)
        cout << x << " ";
    cout << endl;
  
    // 调用swap
    first.swap(second);
  
    // 交换后的值
    cout <<  




1st container : ";
    for (const int& x : first)
        cout << x << " ";
    cout << endl;
  
    // 显示第二个容器
    cout << "2nd container : ";
    for (const int& x : second)
        cout << x << " ";
    cout << endl;
  
    return 0;
}
before swap :- 
1st container : 3 2 1 
2nd container : 6 5 4 

after swap :- 
1st container : 6 5 4 
2nd container : 3 2 1

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程