温馨提示×

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

c++
小樊
88
2024-11-29 17:17:53
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在 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 中的元素是唯一的,因此即使我们交换了集合,每个集合中的元素仍然是唯一的。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:C++中数组元素交换的技巧

0