学习心得 - 数据结构 - 查漏补缺 - Set
好东西 qwq。
底层是红黑树,位于头文件 set。
定义
set<int>st,只有一个数据类型。set<int>st(vec.begin(),vec.end()),直接拷贝迭代器区间。set<int>st(st2),直接拷贝容器。
迭代器操作
共
insert 操作
插入操作。
会将你插入的东西按照给定规则排序。(默认 less<类型>)
find 操作
查找操作。
找到返回当前位置的迭代器。
找不到返回 end(),而我们知道这里其实不应该有值,所以可以用来判定找没找到。
erase 操作
删除操作。
- 可以删除迭代器,必须要不为
end()否则 RE。??? - 可以删除元素,不存在没有问题。
- 可以删除一组元素。 使用迭代器区间
[fir,sec)。一般用于删除后面的元素以及前面的元素。
swap 操作
直接交换 set 没啥好讲的。
empty,size 操作
跟其他东西一样。
count 操作
由于只会插入一次,所以只会返回
lower_bound 操作
千万不要用:lower_bound(st.begin(),st.end())!!!它不是那样存储下标的。
返回
upper_bound 操作
返回