std::set是关联容器的一种,是含有键值key类型对象的已排序集。可以用比较函数进行排序。
搜索、移除和插入拥有对数复杂度。
常用操作
增
插入一个数据
#include <bits/stdc++.h>using namespace std;int main(){set<int> s;cout << s.size() << endl;s.insert(2);cout << s.size() << endl;system("pause");return 0;}
插入一串数据
#include <bits/stdc++.h>using namespace std;int main(){set<int> s;cout << s.size() << endl;s.insert({1,2,3});cout << s.size() << endl;system("pause");return 0;}
删
删除指定的一个元素
#include <bits/stdc++.h>using namespace std;int main(){set<int> s{1,2,3,4};s.erase(2); // 删除元素2for(auto num : s){cout << num << " ";}system("pause");return 0;}
查
find()返回一个对应查找值的迭代器。如果没找到就返回指向set尾部的迭代器#include <bits/stdc++.h>using namespace std;int main(){set<int> s{1,2,2,2,3,3,4};set<int>::iterator it = s.find(8);if(it != s.end()){cout << "yes" << endl;}else{cout << "no" << endl;}system("pause");return 0;}
