【C/C++全套入门攻略】C++标准模板库(STL)用法介绍:set

C++标准模板库(STL)用法介绍:set

set:集合,STL容器之一,可以理解成一个内部自动有序且不含重复元素的容器。

使用set前需要添加:

#include <set>

using namespace std;

1. set声明

set是一个模板类,所以使用前需要声明。

定义

set<typename> st;

typename可以是任何基本类型,也可以是STL标准容器

二维

  • 两个维都是容器
set<set<typename> > name;

注:>>之间需要加空格,否则可能会被判定为右移操作

  • set数组
set<typename> Arrayname[arraySize];

2. set访问

访问set内元素只能通过set的迭代器

通过迭代器访问

迭代器(iterator)理解为类似指针的东西,定义为:

set<typename>::iterator it;

it是set<typename>::iterator类型的变量,*it用来访问set里的元素。迭代器都支持支持自增自减,但只有vector和string支持加减整数的操作。因此,set只能通过迭代器的自增迭代去访问元素,不支持*(it + i)的访问方式。

假设现在有一个set容器st,那么,st.begin()和st.end()标志着迭代器的开头(首元素的地址)和结尾(尾元素地址的下一个地址)。

注:对于不是vector或string的容器,按下标访问包括*(it + i),都失去了意义

3. set常用函数

(1) insert()

insert(x)用来在set的里面添加新元素x,并自动增序排列和去重

(2) find()

find(value)用来返回set中对应值为value的迭代器

(3) erase()

  • 删除单个元素

    • erase(it)用来删除迭代器it处的元素,可以结合find函数使用

    • erase(value)用来直接删除值为value的元素

  • 删除一个区间内的所有元素

    erase(first, last)用来删除迭代器[first, last)内的所有元素

(4) size()

size()用来获得set中的元素个数

(5) clear()

clear()用来将set中的所有元素清空

4. set用途

set最重要的作用就是自动去重并按升序排序


欢迎访问我的STL系列:

C++标准模板库(STL)用法介绍:目录

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值