📜  C++ STL-Set.clear()函数(1)

📅  最后修改于: 2023-12-03 15:13:56.066000             🧑  作者: Mango

C++ STL-Set.clear()函数

简介

std::set 是 C++ STL 中的关联容器之一,其底层是通过红黑树实现的。std::set 以排序的方式来存储元素,其中每个元素的值都必须唯一。在 std::set 中,查找、删除、插入的平均时间复杂度都为 O(logn)。

本文将介绍 std::set 中的 clear() 函数,该函数能够清空 std::set 集合中保存的所有元素。

函数原型
void clear() noexcept;
参数解析

该函数没有参数。

返回值

该函数没有返回值。

使用示例
#include <iostream>
#include <set>

int main() {
    std::set<int> s = {1, 2, 3, 4, 5};
    std::cout << "Set size before clear: " << s.size() << std::endl;
    s.clear();
    std::cout << "Set size after clear: " << s.size() << std::endl;
    return 0;
}

输出结果:

Set size before clear: 5
Set size after clear: 0
注意事项
  • 该函数的时间复杂度为 O(n),其中 n 是 std::set 集合中元素的个数。
  • 在使用 std::set 内存时,应该注意对象析构函数的问题,否则可能会出现内存泄漏问题。
  • 在多线程并发情况下,不要对同一个 std::set 对象同时进行读写,这可能会导致数据不一致问题。