c++ STL set_difference set_intersection set_union 操作

发布时间 - 2026-01-11 00:09:23    点击率:

以下是STL algorithm的几个函数,使用的条件是有序容器,所以 vector在被sort了之后是可以使用的,set也是可以使用的。

set_difference 这个是求得在第一个容器中有,第二个容器中没有的。set_intersection 求两个容器的交, set_union 求两个容器的并。

set_symmetric_difference 求两个容器的差。

最后使用的时候注意要提前分配好最后的盛放容器,其大小最好是两个操作容器的和,然后需要根据返回的迭代器resize一下,看下面的例子。

// set_symmetric_difference example
 #include <iostream>   // std::cout
 #include <algorithm>  // std::set_symmetric_difference, std::sort
 #include <vector>    // std::vector
  
 int main () {
  int first[] = {5,10,15,20,25};
  int second[] = {50,40,30,20,10};
  std::vector<int> v(10);           // 0 0 0 0 0 0 0 0 0 0
  std::vector<int>::iterator it;
  
  std::sort (first,first+5);   // 5 10 15 20 25
  std::sort (second,second+5);  // 10 20 30 40 50
  
  it=std::set_symmetric_difference (first, first+5, second, second+5, v.begin());
                         // 5 15 25 30 40 50 0 0 0 0
  v.resize(it-v.begin());           // 5 15 25 30 40 50
  
  std::cout << "The symmetric difference has " << (v.size()) << " elements:\n";
  for (it=v.begin(); it!=v.end(); ++it)
   std::cout << ' ' << *it;
  std::cout << '\n';
  
  return 0;
 }


# STL  # set_difference  # set_intersection  # set_union  # C++基础 class、struct、union详细  # 深入了解C++ 结构体(struct)与共用体(union)  # C++11中union的使用方法示例  # C++联合体union用法实例详解  # C语言、C++中的union用法总结  # C++中关于union的使用方法说明  # 可以使用  # 几个  # 第一个  # 中有  # 第二个  # 迭代  # set_symmetric_difference  # resize  # brush  # cpp  # pre  # class  # sort  # vector  # algorithm  # set 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  JavaScript常见的五种数组去重的方式  MySQL查询结果复制到新表的方法(更新、插入)  微信小程序 canvas开发实例及注意事项  Laravel怎么在Controller之外的地方验证数据  如何在阿里云高效完成企业建站全流程?  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  Laravel如何使用Collections进行数据处理?(实用方法示例)  Laravel怎么调用外部API_Laravel Http Client客户端使用  微信推文制作网站有哪些,怎么做微信推文,急?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel如何实现模型的全局作用域?(Global Scope示例)  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  如何在VPS电脑上快速搭建网站?  如何用wdcp快速搭建高效网站?  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  独立制作一个网站多少钱,建立网站需要花多少钱?  php json中文编码为null的解决办法  济南网站建设制作公司,室内设计网站一般都有哪些功能?  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  香港服务器租用费用高吗?如何避免常见误区?  使用C语言编写圣诞表白程序  如何在阿里云完成域名注册与建站?  EditPlus中的正则表达式实战(5)  高防服务器:AI智能防御DDoS攻击与数据安全保障  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  Laravel如何配置Horizon来管理队列?(安装和使用)  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  如何用虚拟主机快速搭建网站?详细步骤解析  iOS中将个别页面强制横屏其他页面竖屏  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何自定义建站之星网站的导航菜单样式?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  无锡营销型网站制作公司,无锡网选车牌流程?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel如何实现多对多模型关联?(Eloquent教程)  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  如何快速生成高效建站系统源代码?  Laravel如何使用查询构建器?(Query Builder高级用法)  Swift中swift中的switch 语句