c++

c++ 中的 set 如何处理元素交换

小樊
87
2024-11-29 17:17:53
栏目: 编程语言

在 C++ 中,std::set 是一个关联容器,它包含一组唯一的对象

#include <iostream>
#include <set>

int main() {
    std::set<int> 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_setstd::set,并使用 std::swap 函数将其与名为 another_set 的另一个集合交换。注意,std::swap 会交换集合的内容,而不仅仅是元素的值。这意味着集合的底层数据结构(例如红黑树)也会被交换。

输出结果如下:

Original set: 1 3 4 5 9 
After swapping: 1 3 4 5 9 

如您所见,my_setanother_set 的内容已经交换。请注意,由于 std::set 中的元素是唯一的,因此即使我们交换了集合,每个集合中的元素仍然是唯一的。

0
看了该问题的人还看了