#include <bits/stdc++.h>
using namespace std;
int main ()
{
set <int> s1; // set : 相同的两个元素只能存入一个, multiset 可以存重复元素
set <int, greater<int>> s2; //降序
multiset <int> s3; // 默认升序;
multiset <int, greater<int>> s4; // 降序
// set 两种遍历方式
// auto it = s.find(x);
// cout << *it << endl;
// for (auto it = s.begin(); it != s.end(); it ++) cout << *it << endl;
// for (int x : s) cout << x << endl;
// 插入:
// s1.insert (x); set会自动去重排序(logN), multiset 不会去重, 会排序
// 查找:
// s1.find(x); 有返回对应迭代器, 需要输出*it,multiset 返回第一个出现的迭代器 没有则返回s1.end();
// s3.count(x) 返回multiset 中 x出现的次数, 没有返回0;
// s1.empty() 1-空 0-不空
// 删除:
// (1)s1.erase(x) or s1.erase(s1.find(x)) 删除 等于x的所有元素
// (2)s1.erase(s1.begin(), s1.end())
// (3) s1.erase(s1.find(200), s1.end()) 删除两迭代器之间所有元素
// 清空 s1.clear();
// 交换 s1.swap(s2);
}
set
最新推荐文章于 2024-11-09 13:08:09 发布