博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++STL中set的使用策略(详解)
阅读量:6673 次
发布时间:2019-06-25

本文共 1252 字,大约阅读时间需要 4 分钟。

set的英文意思是“集合”, 集合都不陌生吧,集合的特点有唯一性,即:每一个元素只有一个,所以set可以用来“去重”操作,set还有默认的排序。

 1、头文件——<set>

 2、定义——set<int>Q;

 3、输入(插入)——insert(x);

 4、有序输出

 set<int>::iterator it;

 for(it = Q.begin(); it != Q.end(); it++)

 cout<<*it<<endl;

 5、删除制定元素——erase(x);

 6、清空——clear();

 7、判空——empty();

 8、大小——size();

 9、二分查找——Q.lower_bound(x);

 

 

Pat上的一个题目,用set完美的解决了。

1 #include 
2 using namespace std; 3 int main() 4 { 5 int i,j,k,n,x; 6 set
s;//定义一个名为s的集合 7 while(cin>>n) 8 { 9 for(int i=0;i
>x;12 if(s.empty())//判断集合s是否是空集13 {14 s.insert(x);//是的话向集合s插入一个元素x15 }16 else17 {18 set
::iterator it;//定义一个set型的迭代器19 it=s.lower_bound(x);//进行二分查找20 if(it==s.end())21 {22 s.insert(x);//插入一个元素x23 }24 else25 {26 s.erase(it);//删除制定元素it27 s.insert(x);//插入一个元素x28 }29 }30 }31 int t=s.size();//集合s的大小32 cout<
<

 

转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/6752725.html

你可能感兴趣的文章
PHP常用MySql操作
查看>>
UT源码+105032014018
查看>>
extjs grid 列顺序紊乱问题
查看>>
狗扑论坛 自动刷取VIP狗粮
查看>>
上传图片保存到MySql数据库并显示--经验证有效
查看>>
Linux wget auto login and backup database
查看>>
你所能用到的数据结构(四)
查看>>
forEach--list简单学习
查看>>
背包问题(贪心策略)
查看>>
图的遍历——DFS
查看>>
Linked List 的sample codes
查看>>
ORM-数据库命令操作包装实例对象学习
查看>>
UVA 1452 Jump 约瑟夫环
查看>>
DOM(DHTML)
查看>>
Sublime Text 3 安装插件管理 Package Control
查看>>
移动web图片加载完获取img宽高
查看>>
线段树入门
查看>>
AngularJs的UI组件ui-Bootstrap分享(七)——Buttons和Dropdown
查看>>
牛客小白月赛14 -G (筛法)
查看>>
Java内存模型(JMM)
查看>>