📜  C++ STL中的unordered_set swap()(1)

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

C++ STL中的unordered_set swap()

简介

C++ STL中的unordered_set是一种无序的哈希容器,其中的元素不会按照某种特定顺序排列。我们可以使用swap()函数来交换两个unordered_set对象。

swap()函数
函数原型
void swap(unordered_set& x, unordered_set& y);
参数解析

swap()函数接受两个unordered_set对象作为参数,将它们互相交换。

返回值

swap()函数没有返回值。

示例

下面的示例展示了如何使用swap()函数来交换两个unordered_set对象:

#include <iostream>
#include <unordered_set>

using namespace std;

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

  cout << "Before swap(): " << endl;
  cout << "set1: ";
  for (const auto& elem : set1) {
    cout << elem << " ";
  }
  cout << endl;
  cout << "set2: ";
  for (const auto& elem : set2) {
    cout << elem << " ";
  }
  cout << endl;

  swap(set1, set2);

  cout << "After swap(): " << endl;
  cout << "set1: ";
  for (const auto& elem : set1) {
    cout << elem << " ";
  }
  cout << endl;
  cout << "set2: ";
  for (const auto& elem : set2) {
    cout << elem << " ";
  }
  cout << endl;

  return 0;
}

输出:

Before swap():
set1: 1 2 3
set2: 4 5 6
After swap():
set1: 4 5 6
set2: 1 2 3

在上面的示例中,我们使用了swap()函数来交换了set1和set2两个unordered_set对象。在调用swap()函数之前,set1中包含了1、2、3三个元素,set2中包含了4、5、6三个元素。在调用swap()函数之后,set1中包含了4、5、6三个元素,set2中包含了1、2、3三个元素,两个unordered_set对象互相交换了。