STL容器之set容器API(二)無重複元素原理、set容器排序、自定義資料
阿新 • • 發佈:2021-08-28
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); }
結果: