ACM cpp stl set 用法

别来无恙 提交于 2019-11-27 19:03:40

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!


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!