#include <bits/stdc++.h>
using namespace std;
int main() {
set<int> numbers;
cout << "=== 插入操作详解 ===" << endl;
// 1. insert 单个元素
auto result1 = numbers.insert(10);
cout << "插入10: " << (result1.second ? "成功" : "失败") << endl;
// 2. 插入重复元素
auto result2 = numbers.insert(10);
cout << "重复插入10: " << (result2.second ? "成功" : "失败") << endl;
// 3. insert 多个元素(初始化列表)
numbers.insert({5, 15, 25, 20});
// 4. insert 范围
vector<int> moreNumbers = {30, 35, 40};
numbers.insert(moreNumbers.begin(), moreNumbers.end());
// 5. emplace(高效插入,避免临时对象)
auto result3 = numbers.emplace(50);
cout << "emplace 50: " << (result3.second ? "成功" : "失败") << endl;
// 6. emplace_hint(带提示位置的插入)
auto hint = numbers.find(25);
if(hint != numbers.end()) {
numbers.emplace_hint(hint, 22); // 在25附近插入22
}
cout << "最终集合: ";
for(int num : numbers) cout << num << " ";
cout << endl;
return 0;
}