📅  最后修改于: 2023-12-03 15:29:51.244000             🧑  作者: Mango
C++ STL中的unordered_set是一种无序的哈希容器,其中的元素不会按照某种特定顺序排列。我们可以使用swap()函数来交换两个unordered_set对象。
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对象互相交换了。