#include<iostream>
#include<set>
using namespace std;
int main()
{
set<int> s;
cout<<"***************************************"<<endl;
//插入元素
for(int i=0;i<=10;i++)
{
cout<<"集合元素"<<i<<"已经加入集合!"<<endl;
s.insert(i);
}
cout<<"插入元素之后的集合大小为:"<<s.size()<<endl;
cout<<"***************************************"<<endl;
//此时在插入一个重复的元素是没用的
s.insert(1);//1是重复的
cout<<"再插入元素1之后的集合大小为:"<<s.size()<<endl;
cout<<"***************************************"<<endl;
//如何使用指针打印set
//C98标准
cout<<"***************************************"<<endl;
cout<<"利用C98标准的遍历集合:"<<endl;
int pos98=1;
for(set<int>::iterator it=s.begin();it!=s.end();it++)
cout<<"集合的第"<<pos98++<<"个元素是:"<<*it<<endl;
cout<<"***************************************"<<endl;
cout<<"利用C11标准的遍历集合:"<<endl;
int pos11=1;
for (auto it = s.cbegin(); it != s.cend(); ++it)
cout<<"集合的第"<<pos11++<<"个元素是:"<<*it<<endl;
cout<<"***************************************"<<endl;
//实现集合元素的查找
auto it=s.find(4);
if(it!=s.end())
{
cout<<"查询的元素存在于集合中!"<<endl;
}
else
{
cout<<"查询的元素不存在于集合中!"<<endl;
}
cout<<"***************************************"<<endl;
//实现元素的删除
s.erase(4);
cout<<"在执行完删除操作之后的集合:"<<endl;
for(set<int>::iterator it=s.begin();it!=s.end();it++)
cout<<"集合的第"<<pos98++<<"个元素是:"<<*it<<endl;
cout<<"***************************************"<<endl;
//实现集合的清空
s.clear();
cout<<"清空集合操作之后的集合大小是:"<<s.size()<<endl;
cout<<"***************************************"<<endl;
cout<<"所有操作全部结束!"<<endl;
cout<<"***************************************"<<endl;
return 0;
}
C++ STL Set的基本操作
于 2024-08-05 22:16:13 首次发布