可以刮刮卡的网站,如何分析网站,楼盘网站建设方案ppt,泰安网站建设收益1.介绍 set容器是C标准模板库#xff08;STL#xff09;中的一个关联容器#xff0c;用于存储唯一的元素。set中的元素是自动排序的#xff0c;不允许重复。set通常基于红黑树#xff08;一种自平衡二叉查找树#xff09;实现#xff0c;因此插入、删除和查找操作的时间…1.介绍 set容器是C标准模板库STL中的一个关联容器用于存储唯一的元素。set中的元素是自动排序的不允许重复。set通常基于红黑树一种自平衡二叉查找树实现因此插入、删除和查找操作的时间复杂度都为O(log n)。
2.set用法 1定义和初始化 set的定义和初始化可以通过以下方式完成 std::setElementType mySet; 例如定义一个int类型的set
std::setint mySet;//定义时初始化
std::setint mySet {1, 2, 3, 4, 5}; 2插入元素
mySet.insert(6);
mySet.insert(7); 3删除元素
mySet.erase(3); // 删除值为 3 的元素 4查找元素
auto it mySet.find(2);
if (it ! mySet.end()) {std::cout Found: *it std::endl;
} else {std::cout Not found std::endl;
} 5遍历元素
for (auto it mySet.begin(); it ! mySet.end(); it) {std::cout *it std::endl;
}for (const auto element : mySet) {std::cout element std::endl;
} 7其他常用操作 size()返回 set 中元素的数量。 empty()检查 set 是否为空。 clear()清空 set 中的所有元素。 count()返回 set 中特定元素的数量对于 set结果只能是 0 或 1。
3.与unordered_set的区别 特性setunordered_set底层实现红黑树平衡二叉搜索树哈希表元素顺序有序默认升序无序查找时间复杂度O(log n)平均O(1)最坏O(n)插入/删除时间复杂度O(log n)平均O(1)最坏O(n)内存占用较低 较高哈希表需要额外内存
4.总结 set 是一个非常有用的容器适用于需要存储唯一元素并且需要快速查找、插入和删除操作的场景。由于它是有序的因此在需要按顺序处理元素时也非常方便。 如有错误敬请指正