
c++ 中 set 的用法详解
什么是 set?
set 是一种容器,它存储不重复且有序的元素。元素的顺序是根据特定的比较函数确定的,该函数决定元素的相对大小。
创建 set
立即学习“C++免费学习笔记(深入)”;
要创建 set,可以使用以下语法:
setmySet;
其中,T 是 set 中元素的类型。
插入元素
可以使用 insert() 方法将元素插入 set 中:
mySet.insert(element);
如果元素已经存在,插入操作将被忽略。
查找元素
mallcloud商城基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离vue的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提
可以使用 find() 方法查找 set 中的元素:
auto it = mySet.find(element);
如果找到元素,it 将指向该元素;否则,it 将指向 set 的尾后。
删除元素
可以使用 erase() 方法删除 set 中的元素:
mySet.erase(it);
其中,it 是指向元素的迭代器。也可以使用 erase() 方法传入元素值进行删除。
遍历 set
可以使用以下方法遍历 set 中的元素:
- 使用迭代器:
for (auto it = mySet.begin(); it != mySet.end(); ++it) {
// 获取元素
}- 使用 range-based for 循环:
for (auto element : mySet) {
// 获取元素
}set 的其他方法
除了上述方法外,set 还提供了以下有用方法:
- size():返回 set 中元素的数目。
- empty():检查 set 是否为空。
- clear():清空 set 中的所有元素。
- lower_bound():返回大于或等于给定元素的第一个元素的迭代器。
- upper_bound():返回大于给定元素的第一个元素的迭代器。
- equal_range():返回一组迭代器,表示给定元素在 set 中的范围。










