1. 程式人生 > 其它 >STL容器之set容器API(二)無重複元素原理、set容器排序、自定義資料

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

結果:

2.set容器排序