C++ STL中unordered_set swap()函数

C++ STL中unordered_set swap()函数

C++中,STL的unordered_set是一种用于存储不重复元素的容器,其底层使用的是哈希表实现。可以使用swap()函数交换两个unordered_set对象。本文将介绍unordered_set swap()函数的用法及示例。

swap()函数的用法

swap()函数是一个成员函数,用于将当前unordered_set和其他unordered_set对象进行交换。其语法如下:

void unordered_set::swap(unordered_set& other);

其中,other是要和当前unordered_set交换的另一个unordered_set对象。

swap()函数的示例

接下来,我们将演示如何在C++中使用unordered_set swap()函数。假设我们有两个unordered_set对象,分别存储集合A和集合B中的元素,现在我们想要将这两个集合交换。代码如下:

#include <iostream>
#include <unordered_set>

using namespace std;

int main ()
{
  unordered_set<int> A{1, 2, 3};
  unordered_set<int> B{4, 5, 6};

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

  A.swap(B);

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

  return 0;
}

输出结果如下:

交换前:
A: 1 2 3
B: 4 5 6
交换后:
A: 4 5 6
B: 1 2 3

可以看到,交换前集合A包含1、2、3三个元素,集合B包含4、5、6三个元素。交换后,集合A中包含4、5、6三个元素,集合B中包含1、2、3三个元素,两个集合中的元素被成功交换。

总结

本文介绍了C++ STL中unordered_set swap()函数的用法及示例。使用swap()函数可以方便地交换两个unordered_set对象中的元素。需要注意的是,交换后原来的对象中的元素被替换为另一个对象中的元素。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

C++ 教程