set的一个用法 。

difference找差集

union合并set

intersection找到交集

#include<iostream>
#include<string>
#include<set>
#include<algorithm>
#include<iterator>
int main() {
using namespace std;
const int N = ;
string s1[N] = {"buffoon","thinkers","for","heavy","can","for"};
string s2[N] = {"metal","any","food","elegant","deliver","for"};
set<string>A(s1,s1 + N);
set<string>B(s2,s2 + N);
ostream_iterator<string,char> out(cout," ");
cout << "get A:" ;
copy(A.begin(),A.end(),out);
cout << endl;
cout << "set B:";
copy(B.begin(),B.end(),out);
cout << endl; cout << "union set a,b " << endl;
set_union(A.begin(),A.end(),B.begin(),B.end(),out);
cout << endl; cout << "inter a and b " << endl;
set_intersection(A.begin(),A.end(),B.begin(),B.end(),out);
cout << endl; cout << "difference of a and b " << endl;
set_difference(A.begin(),A.end(),B.begin(),B.end(),out);
cout << endl; set<string>C;
cout << "Set C" << endl;
set_intersection(A.begin(),A.end(),B.begin(),B.end(),insert_iterator<set<string> >(C,C.begin()));
for (auto x : C) cout << x << " " ; cout << endl; string s3 = "hungry";
C.insert(s3);
cout << "Set C after insertion:\n";
copy(C.begin(),C.end(),out);
cout << endl; cout << "show a range : \n";
copy(C.lower_bound("ghost"),C.upper_bound("spook"),out);
cout << endl; return ;
}

C++ 迭代器容器学习的更多相关文章

  1. STL序列式容器学习总结

    STL序列式容器学习总结 参考资料:<STL源码剖析> 参考网址: Vector: http://www.cnblogs.com/zhonghuasong/p/5975979.html L ...

  2. Docker容器学习梳理 - 应用程序容器环境部署

    关于国内Docker镜像,可以参考:Docker容器学习梳理--基础知识(2) 的Docker镜像使用. 如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等 ...

  3. Docker容器学习梳理 - 日常操作总结

    使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Commands: attach Attach ...

  4. Java容器学习——List

    Java容器学习--List 基础知识 数组: ​ 优点:随机存取,可以快速访问元素 ​ 缺点:静态分配内存,存在空间闲置或者溢出现象:不适合进行插入和删除操作,需要移动大量元素. 链表: ​ 优点: ...

  5. 【Ansible】ansible容器学习环境搭建

    想要学习ansible,只有一个节点肯定是不行的,而搭建虚拟机又是一件非常费时费力费资源的事情,所以通过docker 快速搭建一个容器学习环境是一个不错的选择 1. 了解ansible部署 1.1 需 ...

  6. stl容器学习——queue,stack,list与string

    目录 头文件 string 目录部分 1.string的定义及初始化 ① 用一个字符串给另一个字符串赋值 ②用字符串常量对字符串进行赋值 ③ 用n个相同的字符对字符串赋值 2.string的运算符及比 ...

  7. C++ STL vector容器学习

    STL(Standard Template Library)标准模板库是C++最重要的组成部分,它提供了一组表示容器.迭代器.函数对象和算法的模板.其中容器是存储类型相同的数据的结构(如vector, ...

  8. c++ 顺序容器学习

    所谓容器,就是一个装东西的盒子,在c++中,我们把装的东西叫做“元素” 而顺序容器,就是说这些东西是有顺序的,你装进去是什么顺序,它们在里面就是什么顺序. c++中的顺序容器一共有这么几种: vect ...

  9. C++容器学习

    以前自学C++的时候就没怎么看容器,一直以来也没怎么编过C++程序,现在想用C++写点东西,突感容器类型有些生疏,故做此笔记.(参考<C++ primer> 容器:容纳特定类型对象的集合. ...

随机推荐

  1. 梳理 Opengl ES 3.0 (三)顶点坐标变换

    先来个宏观上的理解: 其实这块逻辑是个标准流程,而且其他地方介绍的也很多了,这里简单提下. 坐标转换,其实是不同坐标系之间的变换,一个渲染顶点,要想让它呈现在屏幕上的某个位置,是需要让这个顶点经过一个 ...

  2. Visual Studio 2013安装包

    点击下载

  3. LeetCode 410——分割数组的最大值

    1. 题目 2. 解答 此题目为 今日头条 2018 AI Camp 5 月 26 日在线笔试编程题第二道--最小分割分数. class Solution { public: // 若分割数组的最大值 ...

  4. HDU 1698 Just a Hook(线段树区间覆盖)

    线段树基本操作练习,防手生 #include <cstdio> #include <cstring> #include <cstdlib> #define lson ...

  5. sysctl -P 报错解决办法 error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key

    error: "net.bridge.bridge-nf-call-ip6tables" is an unknown keyerror: "net.bridge.brid ...

  6. mysql 查询表的字段数目

    select column_name from information_schema.`COLUMNS` where TABLE_NAME ='tcm_head'

  7. jetty maven插件

    <plugins>   <plugin>    <groupId>org.eclipse.jetty</groupId>    <artifact ...

  8. 【EasyNetQ】- 发布

    EasyNetQ支持的最简单的消息传递模式是发布/ 订阅.这种模式是消除消费者信息提供者的绝佳方式.出版商简单地向全世界说,“这已经发生了”或“我现在有了这些信息”.它不关心是否有人正在倾听,他们可能 ...

  9. Intellij IDEA将工程打包成jar包并执行

    打开File -> Project Structure -> Artifacts 点击“+”,选择“Jar”,选择Empty或From modules with dependencies, ...

  10. Problem Collection I 位运算

    XOR ARC 092B CF 959E xor-MST CF 959F