set 删除示例
#include <iostream> #include <set> using namespace std; int main() { set<int> data = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}; cout << "初始数据: "; for(int num : data) cout << num << " "; cout << endl; cout << "\n=== 删除操作详解 ===" << endl; // 1. 通过值删除 size_t count1 = data.erase(30); cout << "删除30: " << count1 << " 个元素" << endl; // 2. 删除不存在的值 size_t count2 = data.erase(35); cout << "删除35: " << count2 << " 个元素" << endl; // 3. 通过迭代器删除 auto it = data.find(50); if(it != data.end()) { data.erase(it); cout << "通过迭代器删除50成功" << endl; } // 4. 删除范围 [first, last) auto first = data.find(60); auto last = data.find(90); if(first != data.end() && last != data.end()) { data.erase(first, last); // 删除60,70,80,不删除90 cout << "范围删除60-80完成" << endl; } // 5. 清空所有元素 cout << "\n清空前大小: " << data.size() << endl; data.clear(); cout << "清空后大小: " << data.size() << endl; cout << "是否为空: " << (data.empty() ? "是" : "否") << endl; return 0; }