C++容器——set

目录

set容器

特点:

set容器使用流程 

加入头文件

set容器的定义及初始化

set容器的使用

添加元素 

删除元素:

迭代器操作:

查找和统计

其他操作:

multiset容器


set容器

是一个关联容器,按一定的顺序存储一组唯一的元素。

set容器中的元素会根据元素的值自动进行排序,并且不允许包含重复的元素,基于二叉树实现的。


特点:

唯一性: set容器中的元素是唯一的,即容器中不允许有重复的元素。插入相同的元素将不会改变容器的内容。

有序性: std::set 中的元素会根据元素的值进行排序。

(默认情况下,元素是按照升序进行排序,但也可以定义自定义的排序规则)

基于二叉树:是基于二叉树数据结构实现的。

动态增长: 是动态分配内存的,容器的大小可以动态增长或缩小。

不支持随机访问:是有序的关联容器,不支持像 std::vector 那样的随机访问。 


set容器使用流程 

  1. 使用元组需要加入头文件<set>
  2. set容器的定义及初始化
  3. set容器的使用

加入头文件

#include<set>

set容器的定义及初始化

std::set<int>first { 7,2,3 };

std::set<int>secend ={ 7,2,3 };

std::set<int>third(first.begin(),first.end());

set容器的使用

添加元素 

set容器插入数据时用insert()或者emplace()

set容器插入的数据会自动排序

删除元素:

erase(begend);删除[beg,end]区间的数据,返回下一个数据的位置

erase(pos);删除pos位置的数据,返回下一个数据的位置

erase(e);删除容器中e的元素

迭代器操作:

begin(): 返回指向第一个元素的迭代器。

end(): 返回指向最后一个元素之后位置的迭代器。

rbegin(): 返回指向最后一个元素的逆迭代器。

rend(): 返回指向第一个元素之前位置的逆迭代器。

crbegin():返回指向最后一个元素的常量逆迭代器

crend():返回指向第一个元素的常量逆迭代器。

查找和统计

find(k);查找k是否存在,若存在,返回该键的元素的迭代器若不存在,返回set.end()

count(k);统i计k的元素个数

其他操作:

size(): 返回链表中元素的个数。

empty(): 判断链表是否为空。

clear(): 清空链表中的所有元素。

multiset容器

如果容器里有重复的元素那就初始化定义时把set改为multiset,set和multiset容器其他功能一致

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值