代码如下:

#include <iostream>
#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;class myPrint
{public:void operator()(int val){cout << val << " ";}
};void test01()
{vector<int>v1;vector<int>v2;for (int i = 0; i < 10; i++){v1.push_back(i);v2.push_back(i + 5);}for_each(v1.begin(), v1.end(), myPrint());cout << endl;for_each(v2.begin(), v2.end(), myPrint());cout << endl;vector<int >v3;v3.resize(min(v1.size(),v2.size()));vector<int>::iterator itEnd = set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());for_each(v3.begin(), itEnd, myPrint());cout << endl;
}int main()
{test01();return 0;
}

测试结果:

总结:

代码如下:

#include <iostream>
#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;class myPrint
{public:void operator()(int val){cout << val << " ";}
};void test01()
{vector<int>v1;vector<int>v2;for (int i = 0; i < 10; i++){v1.push_back(i);v2.push_back(i + 5);}for_each(v1.begin(), v1.end(), myPrint());cout << endl;for_each(v2.begin(), v2.end(), myPrint());cout << endl;vector<int >v3;v3.resize(v1.size() + v2.size());vector<int>::iterator itEnd = set_union(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());for_each(v3.begin(), itEnd, myPrint());cout << endl;
}int main()
{test01();return 0;
}

测试结果:

总结:

代码如下:

#include <iostream>
#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;class myPrint
{public:void operator()(int val){cout << val << " ";}
};void test01()
{vector<int>v1;vector<int>v2;for (int i = 0; i < 10; i++){v1.push_back(i);v2.push_back(i + 5);}for_each(v1.begin(), v1.end(), myPrint());cout << endl;for_each(v2.begin(), v2.end(), myPrint());cout << endl;vector<int >v3;v3.resize(max(v1.size() , v2.size()));//v1和v2的差集vector<int>::iterator itEnd = set_difference(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());for_each(v3.begin(), itEnd, myPrint());cout << endl;cout << "---------------------------------------" << endl;//v2和v1的差集vector<int>::iterator itEnd02 = set_difference(v2.begin(), v2.end(), v1.begin(), v1.end(), v3.begin());for_each(v3.begin(), itEnd02, myPrint());cout << endl;}int main()
{test01();return 0;
}

测试结果:

总结:

[C++STL]常用集合算法相关推荐

  1. C++STL常用集合算法

    C++STL常用集合算法 学习目标 算法简介 set_intersection 功能描述 函数原型 示例 总结 set_union 功能描述 函数原型 示例 总结 set_difference 功能描 ...

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

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

  3. C++ STL 常用查找算法

    C++ STL 常用查找算法 adjacent_find() 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器.否则返回past-the-end. ...

  4. C++ STL 常用遍历算法

    C++ STL 常用遍历算法 STL的容器算法迭代器的设计理念 1) STL的容器通过类模板技术,实现数据类型和容器模型的分离  2) STL的迭代器技术实现了遍历容器的统一方法:也为STL的算法提供 ...

  5. C++STL常用排序算法

    C++STL常用排序算法 学习目标 算法简介 sort 功能描述 函数原型 示例 总结 random_shuffle 功能描述 函数原型 示例 总结 merge 功能描述 函数原型 示例 总结 rev ...

  6. C++STL常用查找算法

    C++STL常用查找算法 学习目标 算法简介 find 功能描述 函数原型 示例 总结 find_if 功能描述 函数原型 示例 总结 adjacent_find 功能描述 函数原型 示例 总结 bi ...

  7. C++STL常用遍历算法

    C++STL常用遍历算法 概述 学习目标 算法简介 for_each 功能描述 函数原型 示例 总结 transform 功能描述 函数原型 示例 总结 概述 算法主要是由头文件<algorit ...

  8. C++ 常用集合算法

    #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include <algorithm> #include <vec ...

  9. 开课吧:C++STL常用remove算法有哪些?

    C++标准库提供了大量可以用来对容器及其他序列进行算法操作的函数.这些组件可以是函数或者函数模板,大部分由头文件 提供.以下四个remove相关的函数就包含在头文件algorithm中. 四个remo ...

最新文章

  1. 【Linux】Linux与Windows的部分不同
  2. 谷歌chrome浏览器的源码分析(五)
  3. 后处理编辑修改_NX后处理打开报错处理方法
  4. android 信息添加附件功能,Android实现带附件的邮件发送功能
  5. 更改整个目录文件的所有权限
  6. 代码段编辑器SnippetEditor 2.1
  7. AI大时代下,零基础进入人工智能领域该如何学习?
  8. 全球首发!惯性导航导论(剑桥大学)第一部分
  9. Java 压缩解压缩 第三方组件,推荐一个强大的Java开发工具类库!
  10. RocketMQ报错:MQClientException:no route info of this topic的解决
  11. 解决本地工具无法连接服务器上的mysql的问题
  12. 系统服务器ping偶尔超时,云服务器ping超时原因
  13. php的redis安装配置,Redis 的安装配置介绍_php
  14. 【渝粤题库】陕西师范大学200061语言学概论作业(高起本、专升本)
  15. easyexcel 导出数据锁定某个单元格
  16. 简述计算机硬件,简述计算机硬件的组成部分
  17. 野指针,数组指针,指针数组
  18. 图片 EXIF 信息中旋转参数 Orientation 的理解
  19. golang dlv linux下安装
  20. 解决fork: retry: 资源暂时不可用

热门文章

  1. 【ArcGIS风暴】什么是点云?什么是Las数据集?一篇文章告诉你点云数据的奥秘
  2. 【MATLAB统计分析与应用100例】案例012:matlab读取Excel数据,调用robustfit函数作稳健回归
  3. 【ArcGIS风暴】数字化实验:数据采集与编辑完整操作流程
  4. C语言试题六十三之请编写函数fun:将s所指字符串中ascii值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
  5. linux c之出现warning: implicit declaration of function ‘exit’ [-Wimplicit-function-declaration]这个问题
  6. Android之ActivityManage长用方法总结
  7. sql order by,desc和limit使用(mysql)
  8. mysql mgr简介_MySQL Group Replication(MGR)使用简介与注意事项
  9. 年月跨度_建筑结构丨国内跨度最大的张弦桁架工程——合肥滨湖国际会展中心二期首榀桁架滑移成功...
  10. 一图看懂圆柱侧面与螺旋线关系,你懂了吗?