跳到正文
信奥逐课

第 130 课

set

🔵 基础 约 7 分钟

一句话理解

set 是有序不重复集合。

为什么要学

需要自动排序、去重、查某数在不在时用。

讲解

s.insert(x); s.count(x); s.erase(x); 有序遍历。内部是平衡树,操作大约 log n。

重复值不会出现第二次。要重复用 multiset。

例子

set<int> s;
s.insert(3);
s.insert(3);
s.insert(1);
cout << s.size();

输出:

2

3 只留一次,再加上 1,大小是 2。

常见错误

练习 做完再看下一课

set 中插入两个相同的 3,size 增加?

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课