set 就是一个集合,内部有序但是不会重复(自动去复,按照升序排列)。
set<数据类型>名字
insert():插一个数;
find(3):返回对应元素的值是3的一个迭代器;返回set中第四个元素;如果没有找到,则返回end();
例如:定义setst;
当查找集合中的元素是否存在时,可以这样写:if(st.find(number)!=end(){
cout<<“YES”<<endl;//代表这个数在集合中存在
}else{
cout<<“NO”<<endl;//表示这个数不在集合中
}
clear():清楚所有元素;
erase():删除单个元素或者一个区间的元素。
set中有一个lower_bound(num)函数,可以返回第一个大于等于num的数,自动排序。
举个例子:

//{A}-{B} 结果是存在A中的数据输出,否则删除
集合相减最终的结果就是将两个集合相同的去掉,再输出属于A集合,但不属于B集合的数输出。
#include<iostream>
#include<algorithm>
#include<map>
#include<cstring>
#include<set>
using namespace std;
int main(){int n,m;while(scanf("%d %d",&n,&m)!=EOF){if(n==0&&m==0)break;int val;set<int>Ball;for(int i=1;i<=n;i++){cin>>val;Ball.insert(val);}for(int i=1;i<=m;i++){cin>>val;if(Ball.find(val)!=Ball.end()){Ball.erase(val);}}if(Ball.size()!=0){set<int> ::iterator it;for(it=Ball.begin();it!=Ball.end();++it){cout<<*it<<" ";}}else{cout<<"NULL";}cout<<endl;}return 0;
}
/*
3 3
1 2 3 1 4 7
3 7
2 5 8 2 3 4 5 6 7 8
0 02 3
NULL
*/

总结关于Set集合的一些基本用法相关推荐

  1. java用hashmap_Java集合之HashMap的用法

    Java集合之HashMap的用法 在学习中,出现了几次对HashMap的使用不熟练的情况,现将HashSet的用法总结如下. 1. 基本用法 HashMap map = new HashMap< ...

  2. Map集合及遍历 debug用法 以及集合的斗地主应用练习 D190326

    Map集合及遍历 debug用法 以及集合的斗地主应用练习 第一个独立应用:斗地主,分步骤一点点把项目拆分每一步去完成. 01_第一章:回顾_三种集合的存储方式: 02_第一章:Map集合_常用方法: ...

  3. c++ hashset的用法_c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例

    c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. 1 ...

  4. Django基础(11): 表单集合Formset的高级用法详解

    Formset(表单集)是多个表单的集合.Formset在Web开发中应用很普遍,它可以让用户在同一个页面上提交多张表单,一键添加多个数据,比如一个页面上添加多个用户信息.今天小编我就介绍下Djang ...

  5. python list 查找find_List 泛型 集合中 Find 的用法

    以前在开发中为了对List,String[].Array进行元素的查找一般都是这样做: List lists = new List(); list.add("111"); .... ...

  6. 【LeetCode】词典中最长的单词(附集合操作、lamda用法)

    题目描述 给出一个字符串数组 words 组成的一本英语词典.返回 words 中最长的一个单词,该单词是由 words 词典中其他单词逐步添加一个字母组成. 若其中有多个可行的答案,则返回答案中字典 ...

  7. Java数组转集合之Arrays.asList()用法

    Arrays.asList()用法 使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合. 而一开始asList的设计时用于打印数组而设计 ...

  8. C# List泛型集合中的GroupBy用法

    [csharp] view plaincopy print? //根据子项目id得到flowjump实体类 flowJumps = this.FlowJumps; //按工序groupby flowj ...

  9. Java集合的线程安全用法

    线程安全的集合包含2个问题 1.多线程并发修改一 个 集合 怎么办? 2.如果迭代的过程中 集合 被修改了怎么办? a.一个线程在迭代,另一个线程在修改 b.在同一个线程内用同一个迭代器对象进行迭代. ...

最新文章

  1. 有格调的读书人,朋友圈是什么样的?
  2. Flink Window基本概念与实现原理
  3. 设计模式--外观模式
  4. Xamarin如何生成Android项目的APK
  5. linux 安全基线加固
  6. IT 需要知道的一些专业名词和解释 (长期更新)
  7. 构造函数和析构函数中抛出异常
  8. LeetCode 31 下一个排列
  9. MySQL 随笔记录
  10. JAVA泛型知识(一)
  11. matlab 设计 18db,基于混沌理论的微弱MPSK信号解调方案设计
  12. SQLlite数据导入到mySQL_如何批量导入数据到Sqlite数据库
  13. mysql报904_数据库错误码[-904]
  14. 浅谈Flutter的状态State
  15. 用c语言写的电话簿的程序,用C语言散列表实现电话薄
  16. HDU 3669 Cross the Wall(斜率DP+预处理)
  17. javasocket编程面试题,小白也能看明白
  18. 【Python笔记】pyspark.sql.functions
  19. stm32与驱动器AS1106驱动数码管显示
  20. 机器人无限火力无限e符文_无限火力快乐玩法:无限击飞机器人

热门文章

  1. TCP 客户端程序开发
  2. 什么是 Canny 边缘检测算法?
  3. 自动驾驶中的车道线跟踪技术
  4. 你被科研方向和创新点困扰多久了?
  5. pip经常的使用技巧
  6. 智能家居成新热点 市场化进程遇瓶颈
  7. 怎么申请微信支付接口
  8. HTML5语音输入方法
  9. 【leetcode】148. Sort List
  10. 【JavaScript】AJAX教程