STL库中的关联容器——set
作者:
lgd123
,
2021-07-29 21:04:14
,
所有人可见
,
阅读 397
/*STL库——set
1、set是根据元素值进行排序的集合,所插入的元素在集合中唯一,不存在重复元素。
2、set支持的插入,删除,查找操作是基于二叉搜索树实现的,所以时间复杂度都是O(logn)。
3、set支持的操作有:
①、size():返回set中的元素数。
②、clear():清空set。
③、begin():返回指向set开头的迭代器。
④、end():返回指向set末尾的迭代器。
⑤、insert(key):向set中插入元素key。
⑥、erase(key):删除含有key的元素。
⑦、find(key):搜索与key一致的元素,并返回指向该元素的迭代器,若没有,则返回末尾end()。
*/
----------
//set使用示例
#include<iostream>
#include<set>
using namespace std;
//迭代器循环输出set内元素
void print(set<int>s)
{
cout<<s.size()<<":"<<endl;
for(set<int>::iterator it = s.begin();it!=s.end();it++)
{
cout<<" "<<(*it);
}
cout<<endl;
}
int main()
{
set<int>s;
//插入元素,不得重复,自动排序
s.insert(8);
s.insert(1);
s.insert(7);
s.insert(4);
s.insert(8);
s.insert(4);
print(s);
//删除操作
s.erase(7);
print(s);
s.insert(2);
print(s);
//查找
if(s.find(10)==s.end()) cout<<"not find."<<endl;
//清空操作.
s.clear();
if(s.empty()) cout<<"yes"<<endl;
system("pause");
return 0;
}