在 C++ 中,std::set
是一个关联容器,它包含一组唯一的对象
#include#include int main() { std::set my_set = {3, 1, 4, 1, 5, 9}; // 输出原始集合 std::cout << "Original set: "; for (const auto& element : my_set) { std::cout << element << ' '; } std::cout << std::endl; // 使用 std::swap 交换集合 std::swap(my_set, another_set); // 输出交换后的集合 std::cout << "After swapping: "; for (const auto& element : my_set) { std::cout << element << ' '; } std::cout << std::endl; return 0; }
在这个示例中,我们创建了一个名为 my_set
的 std::set
,并使用 std::swap
函数将其与名为 another_set
的另一个集合交换。注意,std::swap
会交换集合的内容,而不仅仅是元素的值。这意味着集合的底层数据结构(例如红黑树)也会被交换。
输出结果如下:
Original set: 1 3 4 5 9 After swapping: 1 3 4 5 9
如您所见,my_set
和 another_set
的内容已经交换。请注意,由于 std::set
中的元素是唯一的,因此即使我们交换了集合,每个集合中的元素仍然是唯一的。