当前位置: 首页 > news >正文

第九层(16):STL终章——常用集合算法

文章目录

  • 前情回顾
  • 常用集合算法
    • set_intersection
    • set_union
    • set_difference
  • 最后一座石碑倒下,爬塔结束
  • 一点废话

🎉welcome🎉
✒️博主介绍:一名大一的智能制造专业学生,在学习C/C++的路上会越走越远,后面不定期更新有关C/C++语法,数据结构,算法,Linux,ue5使用,制作游戏的心得,和大家一起共同成长。
✈️C++专栏:C++爬塔日记
😘博客制作不易,👍点赞+⭐收藏+➕关注

前情回顾

在上一块石碑中,我学到了,同时下一块石碑也显露出来…

  • 🚄上章地址:第九章(15):STL之常用算术生成算法

常用集合算法

  • 常用集合算法是用于得出两个容器的交集并集和差集的,有三个:
set_intersection//求两个容器的交集
set_union//求两个容器的并集
set_difference//求两个容器的差集

set_intersection

  • 求两个容器的交集,交集就是两个元素重复的部分,它会返回的是一个迭代器,就是存放这个交集的容器中的最后一个元素的迭代器,对于存放交集的容器时需要去提前开辟好空间的,最特殊的情况就是一个容器是另一个容器的子集,那对于存放交集的容器最大空间就是两个容器中小的那个,可以利用min函数来判断谁大谁小
min(size1,size2);
  • 使用min需要引头文件:algorithm
set_intersection(beg1,end1,beg2,end2,dest);
  • beg1是容器1的开始迭代器,end1是容器1的结束迭代器,beg2是容器2的开始迭代器,end2是容器2的结束迭代器,dest是目标容器的开始迭代器

使用:

#include<iostream>
using namespace std;
#include<algorithm>
#include<vector>int main()
{vector<int> a, b;for (int i = 0; i < 10; i++){a.push_back(i);b.push_back(i + 3);}vector<int> a_b;a_b.resize(min(a.size(), b.size()));cout << "a和b的交集是:";for (auto d = a_b.begin(); d < set_intersection(a.begin(), a.end(), b.begin(), b.end(), a_b.begin()); d++){cout << *d << " ";}cout << endl;return 0;
}

在这里插入图片描述

set_union

  • 求两个容器的并集,就是两个容器内所有元素集合在一起,但是重复元素只有一份,没有多份,所有对于并集,最特殊的情况就是两个容器内部没有重复元素,那需要给并集容器开辟的空间就是两个容器加起来
set_union(beg1,end1,beg2,end2,dest);
  • beg1是容器1的开始迭代器,end1是容器1的结束迭代器,beg2是容器2的开始迭代器,end2是容器2的结束迭代器,dest是目标容器的开始迭代器

使用:

#include<iostream>
using namespace std;
#include<algorithm>
#include<vector>int main()
{vector<int> a, b;for (int i = 0; i < 10; i++){a.push_back(i);b.push_back(i + 3);}vector<int> a_b;a_b.resize(a.size()+b.size());cout << "a和b的并集是:";for (auto d = a_b.begin(); d < set_union(a.begin(), a.end(), b.begin(), b.end(), a_b.begin()); d++){cout << *d << " ";}cout << endl;return 0;
}

在这里插入图片描述

set_difference

  • 两个容器的差集,差集的意思是,容器1中有,容器2中没有,对于差集而言,最特殊的情况为,两者之间没有共同元素,那差集就是较大的元素个数就是大容器的大小,可以用max得出,用于与min相同
set_difference(beg1,end1,beg2,end2,dest);

使用:

#include<iostream>
using namespace std;
#include<algorithm>
#include<vector>int main()
{vector<int> a, b;for (int i = 0; i < 10; i++){a.push_back(i);b.push_back(i + 3);}vector<int> a_b;a_b.resize(max(a.size(), b.size()));cout << "a和b的差集集是:";for (auto d = a_b.begin(); d < set_difference(a.begin(), a.end(), b.begin(), b.end(), a_b.begin()); d++){cout << *d << " ";}cout << endl;return 0;
}

在这里插入图片描述

最后一座石碑倒下,爬塔结束

  • “轰”,面前的石碑轰然倒下了,露出了一片广袤的天地,和一方莲台,莲台上坐着的是一位老者,老者浑身都透露出来自C++的强大波动,在石碑中感受不到的力量,那个老者看到我露出了笑容:“我就知道你可以来到这里,孩子,这座塔只是告诉你怎么去使用的,像熟练的使用C++的力量,还需要你坚持不懈的去熟悉他,使用它,加油吧,未来的路还很长,我期待你未来的成长…"

一点废话

  • hi,相信看文章的各位小伙伴对我已经不是很陌生了,这是我第一个真正意义上付出心血的专栏文章,虽然对于后面对STL进行介绍讲解的时候文章的质量并不是很好,我只是将使用描述了出来,并没有进行深度的剖析,对于这点我深表歉意,虽然但是,对于前面面向对象的内容我还是很有自信的,虽然介绍还是很浅薄,但是希望可以对于正在阅读文章的你有所帮助,C++爬塔日记这个专栏正式结束,下一个专栏我会为大家带来一个会进行长期更新的专栏——单片机的专栏,并且算法专栏也会在不久之后和大家见面了,浅浅期待一下吧!最后的最后,谢谢各位读者能看到这里,万分感谢!

🚀专栏:C++爬塔日记
🙉都看到这里了,留下你们的👍点赞+⭐收藏+📋评论吧🙉

相关文章:

第九层(16):STL终章——常用集合算法

文章目录前情回顾常用集合算法set_intersectionset_unionset_difference最后一座石碑倒下&#xff0c;爬塔结束一点废话&#x1f389;welcome&#x1f389; ✒️博主介绍&#xff1a;一名大一的智能制造专业学生&#xff0c;在学习C/C的路上会越走越远&#xff0c;后面不定期更…...

一起学习用Verilog在FPGA上实现CNN----(六)SoftMax层设计

1 SoftMax层设计 1.1 softmax SoftMax函数的作用是输入归一化&#xff0c;计算各种类的概率&#xff0c;即计算0-9数字的概率&#xff0c;SoftMax层的原理图如图所示&#xff0c;输入和输出均为32位宽的10个分类&#xff0c;即32x10320 本项目softmax实现逻辑为&#xff1a; …...

pixhawk2.4.8-APM固件-MP地面站配置过程记录

目录一、硬件准备二、APM固件、MP地面站下载三、地面站配置1 刷固件2 机架选择3 加速度计校准4 指南针校准5 遥控器校准6 飞行模式7 紧急断电&无头模式8 基础参数设置9 电流计校准10 电调校准11 起飞前检查&#xff08;每一项都非常重要&#xff09;12 飞行经验四、遇到的问…...

【unity细节】关于资源商店(Package Maneger)无法下载资源问题的解决

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏&#xff1a;unity细节和bug ⭐关于资源商店为何下载不了的问题⭐ 文章目录⭐关于资源商店为何下载不了的问题…...

[Arxiv 2022] A Novel Plug-in Module for Fine-Grained Visual Classification

Contents MethodPlug-in ModuleLoss functionExperimentsReferencesMethod Plug-in Module Backbone:为了帮助模型抽取出不同尺度的特征,作者在 backbone 里加入了 FPNWeakly Supervised Selector:假设 backbone 的 i i...

RocketMQ Broker消息处理流程及部分源码解析

&#x1f34a; Java学习&#xff1a;Java从入门到精通总结 &#x1f34a; 深入浅出RocketMQ设计思想&#xff1a;深入浅出RocketMQ设计思想 &#x1f34a; 绝对不一样的职场干货&#xff1a;大厂最佳实践经验指南 &#x1f4c6; 最近更新&#xff1a;2023年2月10日 &#x…...

Java面试题:Java集合框架

文章目录一、Java集合框架二、Java集合特性三、各集合类的使用ArrayListLinkedListHashSetHashSet源码解析对源码进行总结HashSet可同步HashSet的使用HashMap四、Iterator迭代器五、遍历集合元素的若干方式参考文章&#xff1a;Hash详解参考文章&#xff1a;深入浅出学Java——…...

时间之间的比较与计算相差年、月、日、小时、分钟、毫秒、纳秒以及判断闰年--LocalDateTime

如何把String/Date转成LocalDateTime参考String、Date与LocalDate、LocalTime、LocalDateTime之间互转 String、Date、LocalDateTime、Calendar与时间戳之间互相转化参考String、Date、LocalDateTime、Calendar与时间戳之间互相转化 比较方法介绍 isBefore(ChronoLocalDateT…...

PyTorch学习笔记:nn.L1Loss——L1损失

PyTorch学习笔记&#xff1a;nn.L1Loss——L1损失 torch.nn.L1Loss(size_averageNone, reduceNone, reductionmean)功能&#xff1a;创建一个绝对值误差损失函数&#xff0c;即L1损失&#xff1a; l(x,y)L{l1,…,lN}T,ln∣xn−yn∣l(x,y)L\{l_1,\dots,l_N\}^T,l_n|x_n-y_n| l(…...

Java程序设计-ssm企业财务管理系统设计与实现

摘要系统设计系统实现开发环境&#xff1a;摘要 对于企业集来说,财务管理的地位很重要。随着计算机和网络在企业中的广泛应用&#xff0c;企业发展速度在不断加快&#xff0c;在这种市场竞争冲击下企业财务管理系统必须优先发展&#xff0c;这样才能保证在竞争中处于优势地位。…...

疑难杂症篇(二十一)--Ubuntu18.04安装usb-cam过程出现的问题

对Ubuntu18.04{\rm Ubuntu 18.04}Ubuntu18.04环境下的ROS{\rm ROS}ROS的melodic{\rm melodic}melodic版本安装usb−cam{\rm usb-cam}usb−cam过程出现的两个常见问题提出解决方案。 1.问题1&#xff1a;usb-cam功能包编译时出现"未定义的引用"的问题 问题描述&#…...

npm-npm i XX --save 和--save-dev

之前使用npm i XX --save 和--save-dev 没太在意&#xff0c;就想记录一下&#xff0c;查到一篇比较全的(链接&#xff1a;NPM install -save 和 -save-dev 傻傻分不清)&#xff0c;直接看好了&#xff0c;哈哈~ # 安装模块到项目目录下 npm install moduleName # -g 的意思是…...

可重构或可调谐微波滤波器技术

电子可重构&#xff0c;或者说电调微波滤波器由于其在改善现在及未来微波系统容量中不断提高的重要性而正吸引着人们越来越多的关注来对其进行研究和开发。例如&#xff0c;崭露头脚的超宽带&#xff08;UWB&#xff09;技术要求使用很宽的无线电频谱。然而&#xff0c;作为资源…...

医院智能化解决方案-门(急)诊、医技、智能化项目解决方案

【版权声明】本资料来源网络&#xff0c;知识分享&#xff0c;仅供个人学习&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间删除&#xff01;完整资料领取见文末&#xff0c;部分资料内容&#xff1a;篇幅有限&#xff0c;无法完全展…...

判断元素是否在可视区域

前言 在日常开发中&#xff0c;我们经常需要判断目标元素是否在视窗之内或者和视窗的距离小于一个值&#xff08;例如 100 px&#xff09;&#xff0c;从而实现一些常用的功能&#xff0c;例如&#xff1a; 图片的懒加载列表的无限滚动计算广告元素的曝光情况可点击链接的预加…...

告别传统繁杂的采购合同管理 打造企业自动化采购管理模式

随着企业竞争日趋激烈&#xff0c;采购成本压力剧增&#xff0c;企业对于采购合同管理更加严格&#xff0c;从而把控物资成本。对于任何一家企业采购来说&#xff0c;规范化合同的全面管理&#xff0c;是采购活动中重要的一个环节。 但在如今&#xff0c;依旧有很多企业采购合…...

【prism】路由事件映射到Command命令

在之前的一篇文章中&#xff0c;我介绍了普通的自定义事件&#xff1a; 【wpf】自定义事件总结&#xff08;Action&#xff0c; EventHandler&#xff09;_code bean的博客-CSDN博客_wpf action可以说通过Action和EventHandle&#xff0c;自定义事件是相当的方便简单了。https…...

面向对象的基本概念和方法

面向对象的开发方法在近几十年见得以广泛应用&#xff0c;我们常见的Java语言就是一种典型的面向对象的开发语言。然而&#xff0c;面向对象的概念较为复杂&#xff0c;知识点也很细碎&#xff0c;本文整理了面向对象的基本概念和方法&#xff0c;供大家参考。为了便于读者理解…...

数据可视化大屏百度地图绘制行政区域标注实战案例解析(个性化地图、标注、视频、控件、定位、检索)

百度地图开发系列目录 数据可视化大屏应急管理综合指挥调度系统完整案例详解&#xff08;PHP-API、Echarts、百度地图&#xff09;数据可视化大屏百度地图API开发&#xff1a;停车场分布标注和检索静态版百度地图高级开发&#xff1a;map.getDistance计算多点之间的距离并输入…...

1.面向对象和类的关系?2.什么是Promise、3.Promise和async、await的关系

面向对象:面向对象是一种编程思想&#xff08;oop&#xff09;。(Js里面所有的东西都可以看做对象&#xff0c;Js它是基于原型的面向对象语言&#xff0c;采用原型的方式来构造对象)很多个具有相同属性和行为的对象就可以抽象为类&#xff0c;对象是类的一个实例。JavaScript在…...

【程序化天空盒】过程记录01:日月 天空渐变 大气散射

1 日月 SunAndMoon 昼夜的话肯定少不了太阳和月亮&#xff0c;太阳和月亮实现的道理是一样的&#xff0c;只不过是月亮比太阳多了一个需要控制月牙程度&#xff08;or添加贴图&#xff09;的细节~ 1.1 Sun 太阳的话很简单&#xff0c;直接在shader里实现一个太阳跟随平行光旋…...

无线通信中的轨道角动量

目录 一. 前言 二. 如何传输 三. 如何产生 3.1 螺旋结构器件 &#xff08;1&#xff09;螺旋相位板 &#xff08;2&#xff09;螺旋抛物面天线 3.2 超表面 3.3 天线阵列 3.3.1 相控阵 3.3.2 时控阵 四. 如何识别 一. 前言 轨道角动量&#xff1a;Orbital Angular M…...

以后更新功能,再也不用App发版了!智能小程序将为开发者最大化减负

在 IoT 时代&#xff0c;越来越多的企业意识到打造自有 App 对于品牌的重要性。作为智能设备不可或缺的控制终端&#xff0c;App 具备连接用户、完善服务、精细化运营用户的独特优势&#xff0c;可帮助企业大大提升品牌竞争力。 为了帮助品牌企业打造更具个性化、差异化的智能…...

C++之类模板全特化和偏特化

类模板类模板是通用类的描述&#xff0c;使用任意类型&#xff08;泛型&#xff09;来描述类的定义。使用类模板的时候&#xff0c;指定具体的数据类型&#xff0c;让编译器生成该类型的类定义。注意&#xff1a;函数模板中可以不指定具体数据类型&#xff0c;让编译器自动推到…...

Python 手写数字识别 MNIST数据集下载失败

目录 一、MNIST数据集下载失败 1 失败的解决办法&#xff08;经验教训&#xff09;&#xff1a; 2 亲测有效的解决方法&#xff1a; 一、MNIST数据集下载失败 场景复现&#xff1a;想要pytorchMINIST数据集来实现手写数字识别&#xff0c;首先就是进行MNIST数据集的下载&am…...

华为机试题:HJ61 放苹果(python)

文章目录博主精品专栏导航知识点详解1、input()&#xff1a;获取控制台&#xff08;任意形式&#xff09;的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方法2、print() &#xff1a;打印输出。3、整型int() &#xff1a;将指定进制&#xf…...

【论文速递】ICCV2021 - 基于超相关压缩实现实时高精度的小样本语义分割

【论文速递】ICCV2021 - 基于超相关压缩的小样本语义分割 【论文原文】&#xff1a;Hypercorrelation Squeeze for Few-Shot Segmentation 【作者信息】&#xff1a;Juhong Min Dahyun Kang Minsu Cho 获取地址&#xff1a;https://openaccess.thecvf.com/content/ICCV2021/…...

单例模式(Singleton Pattern)

目录 1.什么是单例模式&#xff1a; 2.单例模式存在的原因&#xff1a; 3.单例模式的优缺点&#xff1a; 4.创建方式&#xff1a; 1. 单线程单例模式立即创建&#xff08;饿汉式&#xff09;&#xff1a; 2. 单线程单例模式延迟创建&#xff08;懒汉式&#xff09;&#xf…...

docker file和compose

文章目录1.dockerfile&#xff08;单机脚本&#xff09;1.概念2.原理3.dockerfile核心四步4.命令2.docker compose1.概念2.注意事项3.常用字段4.常用命令1.dockerfile&#xff08;单机脚本&#xff09; 1.概念 通过脚本&#xff0c;生成一个镜像&#xff0c;并运行对应的容器…...

如何解决thinkphp验证码不能显示问题?

thinkPHP做验证码这一块,可以使用自带的验证码扩展,具体步骤如下: 一、安装扩展 composer require topthink/think-captcha 二、模版中使用 将原来静态页面的验证码图片替换为{:captcha_img()},这个会自动生成验证码图片。 <div>{:captcha_img()}</div> 或者 &…...

网站开发工程师项目经验怎么写/百度推广电话客服24小时

最近在研究 TP受益匪浅... http://今天就从 基本函数 M和D开始高手莫见笑..有不对的地方 望一起讨论两个有共同点..都是实例化对象用的..但是 在使用时 两者却不一样...为什么??先看看代码函数M http://blog.csdn.net/siren0203/article/details/5974415...

wordpress禁止制定ip访问/seo销售好做吗

和向左密集比起来向右密集只需要进行小小的额修改&#xff0c;就是更新的时候从右往左更新。。 自己写的被卡死时间。不知道怎么回事&#xff0c;和网上博客的没啥区别。。 /* 给定一个n个数的序列a 每次询问区间[l,r],求出去重后区间中每个数的第一次出现的位置pi pi构成一个新…...

东莞市官网网站建设品牌/盘古百晋广告营销是干嘛

文章目录 chage的作用 使用举例列出用户密码的有效期设置密码过期时间为立即过期&#xff08;0&#xff09;设置登陆必须修改密码设置gaosh3 密码60天后过期&#xff0c;至少7天后才能修改密码&#xff0c;密码过期前7天开始收到告警信息 总结 chage 详解 1. chage的作用 作…...

菲律宾做网站/网站统计数据分析

容器化时代&#xff0c;注册中心是一个比较尴尬的存在&#xff0c;容器编排系统提供了比较完善的服务发现和负载均衡机制。但是这就够了吗&#xff1f;很明显不是&#xff0c;其实注册中心除了服务发现和负载均衡之外&#xff0c;还有很多“增值服务”&#xff0c;这些增值服务…...

如何提高网站的安全性/uc推广登录入口

DBSCAN-SWA&#xff1a;一行命令识别并注释溶源噬菌体DBSCAN-SWA: an integrated tool for rapid prophage detection and annotation介绍DBSCAN-SWA是一个结合了具有噪音的密度聚类算法(density-based spatial clustering of applications with noise, DBSCAN-SWA)和滑动窗口算…...

上海网站建设基础/网站运营主要做什么工作

●一份文档就是一棵节点树。●节点分为不同的类型&#xff1a;元素节点、属性节点和文本节点等。●getElementById()方法将返回一个对象&#xff0c;该对象对应着文档里的一个特定的元素节点。●getElementsByTagName()方法将返回一个对象数组&#xff0c;它们分别对应着文档里…...