学习心得 - 数据结构 - 查漏补缺 - Set

· · 算法·理论

好东西 qwq。

底层是红黑树,位于头文件 set。

定义

  1. set<int>st,只有一个数据类型。
  2. set<int>st(vec.begin(),vec.end()),直接拷贝迭代器区间。
  3. set<int>st(st2),直接拷贝容器。

迭代器操作

共 6 个。详见容器通用迭代器。

insert 操作

插入操作。

会将你插入的东西按照给定规则排序。(默认 less<类型>)

find 操作

查找操作。

找到返回当前位置的迭代器。

找不到返回 end(),而我们知道这里其实不应该有值,所以可以用来判定找没找到。

erase 操作

删除操作。

swap 操作

直接交换 set 没啥好讲的。

empty,size 操作

跟其他东西一样。

count 操作

由于只会插入一次,所以只会返回 0 和 1,是存在性。

lower_bound 操作

千万不要用:lower_bound(st.begin(),st.end())!!!它不是那样存储下标的。

返回 \ge val 位置的迭代器。

upper_bound 操作

返回 >val 位置的迭代器。