C++ 中的 set
是一个关联容器,它包含一组唯一的对象。每个元素在插入时都会自动按键排序。set
通常使用红黑树实现,因此插入、删除和查找操作的时间复杂度都是 O(log n)。
下面是一个简单的 set
使用示例:
#include#include int main() { // 创建一个整数类型的 set std::set my_set; // 向 set 中插入元素 my_set.insert(3); my_set.insert(1); my_set.insert(4); my_set.insert(1); // 重复元素,不会被插入 // 遍历 set for (const auto& element : my_set) { std::cout << element << " "; } std::cout << std::endl; // 查找元素 auto it = my_set.find(1); if (it != my_set.end()) { std::cout << "Found: " << *it << std::endl; } else { std::cout << "Not found" << std::endl; } // 删除元素 my_set.erase(1); // 再次遍历 set std::cout << "After erasing 1:" << std::endl; for (const auto& element : my_set) { std::cout << element << " "; } std::cout << std::endl; return 0; }
输出结果:
1 3 4 Found: 1 After erasing 1: 3 4
在这个示例中,我们创建了一个整数类型的 set
,并向其中插入了一些元素。注意,重复的元素不会被插入。然后我们遍历了 set
,查找了一个元素,并删除了它。最后再次遍历 set
以查看结果。