set 插入示例

#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;
}

 

posted @ 2025-10-08 11:29  付书恒  阅读(2)  评论(0)    收藏  举报