set——有关集合的函数
【c++学习自:https://blog.csdn.net/zangker/article/details/22984803】
【拓展,Java学习自:https://www.cnblogs.com/zhaobinrui/p/14628618.html】
【拓展,Python学习自:https://blog.csdn.net/u010969910/article/details/82690537】
C++:
set里面有
set_intersection(取集合交集)
set_union(取集合并集)
set_difference(取集合差集)
set_symmetric_difference(取集合对称差集)
其中,关于函数的五个参数问题做一下小结:
1、这几个函数的前四个参数一样,只有第五个参数有多重版本。
2、EX1:set_union(A.begin(),A.end(),B.begin(),B.end(),inserter( C1 , C1.begin() ) );
前四个参数依次是第一的集合的头尾,第二个集合的头尾。第五个参数的意思是将集合A、B取合集后的结果存入集合C中。
EX2:set_union(A.begin(),A.end(),B.begin(),B.end(),ostream_iterator<int>(cout," “));
这里的第五个参数的意思是将A、B取合集后的结果直接输出,(cout," ")双引号里面是输出你想用来间隔集合元素的符号或是空格。
下面是set_union的原型:

template<class InputIterator1, class InputIterator2, class OutputIterator> OutputIterator set_union( InputIterator1_First1 , InputIterator1_Last1 , InputIterator2_First2 , InputIterator2_Last2 , OutputIterator_Result );
Java:
也是set定义,但不同的是其成员方法简便得多,且是对本身set集合进行修改
set.retainAll()——交集
set.addAll()——并集
set.removeAll()——差集
Python:

>>> a=[1,3,5] >>> b=[1,2,3] >>> set(a) | set(b) set([1, 2, 3, 5]) # 或者 >>> set(a).union(b) set([1, 2, 3, 5])

>>> a=[1,3,5] >>> b=[1,2,3] >>> set(a) & set(b) set([1, 3]) # 或者 >>> set(a).intersection(b) set([1, 3])

>>> a=[1,3,5] >>> b=[1,2,3] >>> set(a) - set(b) set([5]) # 或者 >>> set(a).difference(b) set([5]) >>>

>>> a=[1,3,5] >>> b=[1,2,3] >>> set(a) ^ set(b) set([2, 5]) # 或者 >>> set(a).symmetric_difference(b) set([2, 5])
【补充:需要注意的是,java和python都是去重的,不关心元素出现次数】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!