ACM cpp stl set 用法

本文介绍了STL中的set容器,它采用红黑树实现,保证了数据的唯一性和快速的查找、插入与删除操作。文中详细解释了如何定义set,通过迭代器遍历set中的元素,以及如何进行插入、删除和查找等常见操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

stl set//集合,元素唯一不可重复

使用平衡的搜索树——红黑树实现
因此插入、删除和查找数据时间复杂度为O(logN)
//定义
set<int> s1;


//扫描整一个set所有的元素,用迭代器
for (set<int>::iterator i=s1.begin(); i!=s1.end(); i++) 
    cout<<(*i)<<endl;


//元素插入:
//1,(常用)insert,插入value,返回pair配对对象,可以根据.second判断是否插入成功。(提示:value不能与set容器内元素重复)
s1.insert(2);//插入2


//元素删除
//1,(常用)size_type erase(value) 移除set容器内元素值为value的所有元素,返回移除的元素个数
//2,void erase(&pos) 移除pos位置上的元素,无返回值
//3,void erase(&first, &last) 移除迭代区间[&first, &last)内的元素,无返回值
//4,void clear(), 移除set容器内所有元素
s1.erase(2); //删除2


//元素查找
//(常用)iterator find(value)返回value所在位置,找不到value将返回end()
//count(value)返回set对象内元素值为value的元素个数

if (s1.find(2)!=s1.end()) cout<<"get!"<<endl; //找到2时输出get!

stl set//集合,元素唯一不可重复
使用平衡的搜索树——红黑树实现
因此插入、删除和查找数据时间复杂度为O(logN)
//定义
set<int> s1;

//扫描整一个set所有的元素,用迭代器
for (set<int>::iterator i=s1.begin(); i!=s1.end(); i++) 
    cout<<(*i)<<endl;

//元素插入:
//1,(常用)insert,插入value,返回pair配对对象,可以根据.second判断是否插入成功。(提示:value不能与set容器内元素重复)
s1.insert(2);//插入2

//元素删除
//1,(常用)size_type erase(value) 移除set容器内元素值为value的所有元素,返回移除的元素个数
//2,void erase(&pos) 移除pos位置上的元素,无返回值
//3,void erase(&first, &last) 移除迭代区间[&first, &last)内的元素,无返回值
//4,void clear(), 移除set容器内所有元素
s1.erase(2); //删除2

//元素查找
//(常用)iterator find(value)返回value所在位置,找不到value将返回end()
//count(value)返回set对象内元素值为value的元素个数
if (s1.find(2)!=s1.end()) cout<<"get!"<<endl; //找到2时输出get!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值