STL容器之set容器API(二)无重复元素原理、set容器排序、自定义数据

1.set如何实现无重复元素

void printSet(set<int>& s)
{
    for (set<int>::iterator it = s.begin(); it != s.end(); it++)
    {
        cout << *it << " ";
    }
    cout << endl;
}
//set实现无重复元素原理
void test01()
{

    set<int> s;
    //set实现无重复元素 insert处F12转到定义
    /*
    template <bool _Multi2 = _Multi, enable_if_t<!_Multi2, int> = 0>
    pair<iterator, bool> insert(value_type&& _Val) {
        const auto _Result = _Emplace(_STD move(_Val));
        return {iterator(_Result.first, _Get_scary()), _Result.second};
    }
    */
    //插入后返回对组 第一个为迭代器 第二个是bool  是否插入成功
    pair<set<int>::iterator, bool> ret = s.insert(10);
    if (ret.second)
    {
        cout << "插入结果: " << ret.second << ", 数值为:" << *(ret.first) << endl;  //bool转数值 1为true 0为false
    }
    else {
        cout << "插入结果:" << ret.second << endl;
    }
    s.insert(10);
    ret = s.insert(10);     //再次插入
    if (ret.second)
    {
        cout << "第二次插入结果: "<< ret.second << ", 数值为:" << *(ret.first) << endl;
    }
    else {
        cout << "第二次插入结果:" << ret.second << endl;
    }
    printSet(s);
}

结果:

STL容器之set容器API(二)无重复元素原理、set容器排序、自定义数据

 

2.set容器排序

 

STL容器之set容器API(二)无重复元素原理、set容器排序、自定义数据

上一篇:springboot:嵌套使用异步注解@Async还会异步执行吗


下一篇:Spring_整合Mybatis