set的增、删、查
1.增:
(1)插入单个值:
s.insert(5);
s.insert(2);
s.insert(5); // 重复值,插入失败
(2)插入多个值:
s.insert({1, 3, 4}); // 最终 s: {1,2,3,4,5}
(3)插入迭代器范围(从其他容器/数组插入):
int arr[] = {6,7};
s.insert(begin(arr), end(arr)); // s: {1,2,3,4,5,6,7}
2.删:
(1)按值删除(返回删除元素个数,set中只能是0或1):
size_t delCount = s.erase(3);
cout << "删除个数:" << delCount << endl; // 1(删除成功)
(2)按迭代器删除(无返回值):
auto it = s.find(4);
if (it != s.end()) {
s.erase(it); // 删除 4
}
(3)按迭代器范围删除:
it = s.find(5);
s.erase(it, s.end()); // 删除 5、6 → s: {1,2}
(4)清空所有元素:
s.clear(); // s 变为空
3.查:
(1)find()→ 返回迭代器(找到:指向元素;没找到:s.end())
(2)count() → 返回元素个数(set 中只能是 0 或 1)
(3)遍历查询(按需查找符合条件的元素):
const auto& val : s
(1)插入单个值:
s.insert(5);
s.insert(2);
s.insert(5); // 重复值,插入失败
(2)插入多个值:
s.insert({1, 3, 4}); // 最终 s: {1,2,3,4,5}
(3)插入迭代器范围(从其他容器/数组插入):
int arr[] = {6,7};
s.insert(begin(arr), end(arr)); // s: {1,2,3,4,5,6,7}
2.删:
(1)按值删除(返回删除元素个数,set中只能是0或1):
size_t delCount = s.erase(3);
cout << "删除个数:" << delCount << endl; // 1(删除成功)
(2)按迭代器删除(无返回值):
auto it = s.find(4);
if (it != s.end()) {
s.erase(it); // 删除 4
}
(3)按迭代器范围删除:
it = s.find(5);
s.erase(it, s.end()); // 删除 5、6 → s: {1,2}
(4)清空所有元素:
s.clear(); // s 变为空
3.查:
(1)find()→ 返回迭代器(找到:指向元素;没找到:s.end())
(2)count() → 返回元素个数(set 中只能是 0 或 1)
(3)遍历查询(按需查找符合条件的元素):
const auto& val : s
全部评论
相关推荐
点赞 评论 收藏
分享
2025-12-15 11:27
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享

腾讯成长空间 6021人发布
