常见的STL容器--集合set

常见的STL容器--集合set

  1. set翻译为集合,是一个内部自动有序(递增)且不含重复元素的容器。如果要使用set,需要使用头文件#include<set>
  2. set的定义
    set<typename> name; //和vector类似
  3. set容器内元素的访问:只能通过迭代器(iterator)访问
 //注意:可以通过*it来访问set里的元素,但不允许使用*(it+i)的访问方式
set<typename>::iterator it;
  1. 基本操作
set<int> st;  
st.insert(x)  //将x插入到set中
st.find(value)  //返回set中对应值为value的迭代器
st.erase(it)  //it为所需删除元素的迭代器
st.erase(st.find(100))  //利用find()函数找到100,然后用erase删除它
st.erase(value)  //value为所需要删除元素的值
st.erase(first,last)  //删除区间[first,last)中的元素
st.size()  //用来获得set内元素的个数
st.clear()  //用来清空set中所有的元素
  1. set最主要的作用就是自动去重并按升序排序。set中元素是唯一的,如果需要处理不唯一的情况,则可以使用multiset。另外,C++11标准中还增加了unordered_set,以散列代替set内部的红黑树,可以用来处理去重但不排序的需求,速度比set快很多。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焦妮敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值