STL之set
1|0STL之set
1|1木材仓库
题目描述
博艾市有一个木材仓库,里面可以存储各种长度的木材,但是保证没有两个木材的长度是相同的。作为仓库负责人,你有时候会进货,有时候会出货,因此需要维护这个库存。有不超过 100000 条的操作:
- 进货,格式
1 Length
:在仓库中放入一根长度为 Length(不超过 ) 的木材。如果已经有相同长度的木材那么输出Already Exist
。 - 出货,格式
2 Length
:从仓库中取出长度为 Length 的木材。如果没有刚好长度的木材,取出仓库中存在的和要求长度最接近的木材。如果有多根木材符合要求,取出比较短的一根。输出取出的木材长度。如果仓库是空的,输出Empty
。
样例 #1
样例输入 #1
样例输出 #1
set 解法
-
该题符合集合具备的特点,可以用
set
解。 -
set
常见功能set<int> st
- 建立一个元素类型为
int
的集合。
- 建立一个元素类型为
st.insert(x)
- 插入元素
x
,如果这个元素已存在则什么也不做。
- 插入元素
st.erase(x)
- 删除元素
x
,如果这个元素不存在则什么也不做。
- 删除元素
st.erase(it)
- 删除迭代器
it
对应的元素。
- 删除迭代器
st.end()
- 返回集合中最后一个元素的下一位的地址,一般配合其他方法做判断。
st.find(x)
- 查询
x
在集合中的地址,如果这个数不存在,则返回st.end()
。
- 查询
st.lower_bound(x)
- 查询大于或等于
的最小的数在集合中的地址,如果这个数不存在,则返回st.end()
。
- 查询大于或等于
st.upper_bound(x)
- 查询大于
的最小的数在集合中的地址,如果这个数不存在,则返回st.end()
。
- 查询大于
st.empty()
- 如果集合为空,则返回真值。
st.size()
- 集合元素个数。
-
代码实现
__EOF__

本文作者:Kdlyh
本文链接:https://www.cnblogs.com/kdlyh/p/17859956.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/kdlyh/p/17859956.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下