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

multiset的使用以及集合的运算

multiset的使用以及集合的运算

#include <algorithm> 
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main()
{
	//头文件 <set> 
	multiset<int> st;
	multiset<int>::iterator it;
	st.clear();
	st.insert(1);
	st.insert(1);
	st.insert(2);
	st.insert(2);
	st.insert(3);
	for(it = st.begin(); it != st.end(); ++it)
	cout << *it << " ";
	cout << endl;
	
	it = st.begin();
	st.erase(it);	//multiset删除迭代器位置,是删除当前位置的元素 
	for(it = st.begin(); it != st.end(); ++it)
	cout << *it << " ";
	cout << endl;
	
	st.erase(2);	 //multiset删除一个数,是删除所有值为当前数的元素 
	for(it = st.begin(); it != st.end(); ++it)
	cout << *it << " ";
	cout << endl;
	
	cout << "-------------------------------------" << endl;
	
	
	
	
	
	set<int> st1, st2, st3;
	vector<int> vt; 
	//头文件 <algorithm> 
	//交集 st1 ∩ st2 
	st1.insert(1); st1.insert(2); st1.insert(3); st1.insert(4);
	st2.insert(3); st2.insert(4); st2.insert(5); st2.insert(6);
	set_intersection(st1.begin(), st1.end(), st2.begin(), st2.end(),
	inserter(st3, st3.begin()));
	//inserter 在指定位置插入元素 
	for(set<int>::iterator it = st3.begin(); it != st3.end(); ++it)
	cout << *it << " ";
	cout << endl;
	
	
	//并集 st1 ∪ st2 
	set_union(st1.begin(), st1.end(), st2.begin(), st2.end(),
	inserter(vt, vt.begin()));
	for(int i = 0; i < vt.size(); ++i)
	cout << vt[i] << " ";
	cout << endl;
	
	//差集,st1 - st2 
	vt.clear();
	set_difference(st1.begin(), st1.end(), st2.begin(), st2.end(),
	inserter(vt, vt.begin()));
	for(int i = 0; i < vt.size(); ++i)
	cout << vt[i] << " ";
	cout << endl;
	return 0;
}


资料:

http://blog.csdn.net/zzuchengming/article/details/51045783

http://blog.sina.com.cn/s/blog_4e0987310101aiup.html

http://blog.csdn.net/zangker/article/details/22984803

http://blog.csdn.net/qq_36124802/article/details/53105622

相关文章:

  • 为学IOS,进击中......
  • 2014-2015 ACM-ICPC, NEERC, Northern Subregional Contest I-Instruction(模拟)
  • jquery常用技巧及常用方法列表集合
  • Codeforces Round #439 (Div. 2) C.The Intriguing Obsession(组合数、记忆化搜索)
  • (第一天)包装对象、作用域、创建对象
  • UOJ-79 一般图的最大匹配(带花树模板求解)
  • POJ-2823 POJ-3250 (单调队列 单调栈)
  • 关于量价十八则的口诀
  • HDU-3478 Catch(二分图染色+并查集)
  • RSA密钥的生成与配置
  • POJ 2536 Gopher II
  • HDU-1043 Eight(经典八数码问题, A*+康拓+曼哈顿距离+逆序数判断可解性、双向搜索)
  • codeforces-510E Fox And Dinner(带限制的二分图多重匹配+奇偶建图+打印路径)
  • C-Cleaning Pipes(判断两线段相交+二分图判定) 2015-2016 Northwestern European Regional Contest (NWERC 2015)
  • eclipse the user operation is waiting for building workspace to complete
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【刷算法】从上往下打印二叉树
  • Angular 响应式表单 基础例子
  • django开发-定时任务的使用
  • Fabric架构演变之路
  • Go 语言编译器的 //go: 详解
  • java概述
  • JS专题之继承
  • node学习系列之简单文件上传
  • 爱情 北京女病人
  • 分享一份非常强势的Android面试题
  • 机器学习中为什么要做归一化normalization
  • 前端
  • 前端_面试
  • 前端技术周刊 2019-02-11 Serverless
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 我是如何设计 Upload 上传组件的
  • 一个项目push到多个远程Git仓库
  • 译自由幺半群
  • 《码出高效》学习笔记与书中错误记录
  • Java总结 - String - 这篇请使劲喷我
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • # Apache SeaTunnel 究竟是什么?
  • ###STL(标准模板库)
  • #pragma once与条件编译
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (初研) Sentence-embedding fine-tune notebook
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (十一)图像的罗伯特梯度锐化
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (转)http-server应用
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET CORE 第一节 创建基本的 asp.net core
  • .Net IE10 _doPostBack 未定义
  • .Net MVC4 上传大文件,并保存表单
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...