STL--集和多集(set/multiset)
- 第一个参数key是所存储的键的类型
- 第二个参数是为排序值而定义的比较函数的类型
- 第三个参数是被实现的存储分配符的类型。
- myset.insert(elem) 向集合中插入数据,如果已经存在则不插入
- myset.erase(elem) 删除集合中值等于 elem的元素
- myset.find(elem) 查找值等于elem的元素,若找到返回指向elem的迭代器,否则返回end() ,
- myset.clear() 清除集合中所有数据
- myset.size() 返回集合中数据个数
- mymulset.insert(elem) 向多重集合中插入数据,
- mymulset.erase(elem) 删除多重集合中值等于 elem的所有元素,若删除成功返回删除个数,否则返回0
- mymulset.count(elem) 返回多重集合中数据elem出现的次数
#include <set>
using namespace std; struct SS {int x,y;};
struct ltstr {
bool operator() (SS a, SS b)
{return a.x < b.x;}
};
int main()
{
set <SS, ltstr> st; // st内的SS元素按x从小到大排序
…
}
Code1
#include <set>
using namespace std;
struct SS {
int x,y;
bool operator < (struct SS _s) const {
if (x == _s.x) return y < _s.y;
return x < _s.x;
}
};
int main()
{
set <SS> st; // st内的SS元素按x从小到大排序
…
}
Code2
multiset举例:
#include <iostream>
#include <set>
using namespace std;
int main(void) {
set<int> set1;
for (int i = ; i < ; ++i) set1.insert(i);
for (set<int>::iterator p = set1.begin();p != set1.end();++p) cout << *p << "";
if (set1.insert().second)//把3插入到set1中
//插入成功则set1.insert(3).second返回true,否则返回false
//此例中,集中已经有3这个元素了,所以插入将失败
cout << "set insert success";
else
cout << "set insert failed";
if (set1.find() != set1.end()) { // 查找元素3
cout << "find it.." << endl;
} else {
cout << "not find it.." << endl;
}
if (set1.find() != set1.end()) { // 查找元素100
cout << "find it.." << endl;
} else {
cout << "not find it.." << endl;
}
int a[] = {, , , , , , , , , };
multiset<int> A;
A.insert(set1.begin(), set1.end());
A.insert(a, a + );
cout << endl;
for (multiset<int>::iterator p = A.begin();p != A.end();++p)
cout << *p << " ";
cin.get();
return ;
}
STL--集和多集(set/multiset)的更多相关文章
- LUA中将未分类数据分为测试集和训练集
require 'torch' require 'image' local setting = {parent_root = '/home/pxu/image'} function list_chil ...
- STL vector+sort排序和multiset/multimap排序比较
由 www.169it.com 搜集整理 在C++的STL库中,要实现排序可以通过将所有元素保存到vector中,然后通过sort算法来排序,也可以通过multimap实现在插入元素的时候进行排序.在 ...
- 机器学习入门06 - 训练集和测试集 (Training and Test Sets)
原文链接:https://developers.google.com/machine-learning/crash-course/training-and-test-sets 测试集是用于评估根据训练 ...
- 斯坦福大学公开课机器学习:advice for applying machine learning | model selection and training/validation/test sets(模型选择以及训练集、交叉验证集和测试集的概念)
怎样选用正确的特征构造学习算法或者如何选择学习算法中的正则化参数lambda?这些问题我们称之为模型选择问题. 在对于这一问题的讨论中,我们不仅将数据分为:训练集和测试集,而是将数据分为三个数据组:也 ...
- 【ML入门系列】(一)训练集、测试集和验证集
训练集.验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用. 在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train ...
- sklearn获得某个参数的不同取值在训练集和测试集上的表现的曲线刻画
from sklearn.svm import SVC from sklearn.datasets import make_classification import numpy as np X,y ...
- TMG 2010 使用脚本来导入URL集和域名集
作为一个网管,相信有领导叫你限制员工上网的情况,例如只限制员工访问某些网站.在禁止的网站数量少的时候,添加URL集或者域名集是一件很简单的事情,如果禁止的网站数量多达1500个呢?如果再使用ISA S ...
- 随机切分csv训练集和测试集
使用numpy切分训练集和测试集 觉得有用的话,欢迎一起讨论相互学习~Follow Me 序言 在机器学习的任务中,时常需要将一个完整的数据集切分为训练集和测试集.此处我们使用numpy完成这个任务. ...
- 编译原理-First集和Follow集
刚学first集和follow集的时候,如果上课老师没有讲明白或者自己没听明白,自己看的时候还真是有点难理解,不过结合着具体的题目可以理解的更快. 先看一下两种集合的求法: First集合的求法: ...
- sklearn学习3----模型选择和评估(1)训练集和测试集的切分
来自链接:https://blog.csdn.net/zahuopuboss/article/details/54948181 1.sklearn.model_selection.train_test ...
随机推荐
- SNF开发平台WinForm之四-开发-主细表管理页面-SNF快速开发平台3.3-Spring.Net.Framework
4.1运行效果: 4.2开发实现: 4.2.1 有了第一个程序的开发,代码生成器的配置应该是没有问题了,我们只要在对应的数据库中创建我们需要的表结构就可以了,如下: 主表结构如下: ...
- 转iOS中delegate、protocol的关系
iOS中delegate.protocol的关系 分类: iOS Development2014-02-12 10:47 277人阅读 评论(0) 收藏 举报 delegateiosprocotolc ...
- 20个精美的免费 PSD 界面设计素材【免费下载】
在这篇文章中,我们给大家收集了20个最新出炉的 UI 设计素材.这些来自优秀设计师的 PSD 源文件素材让其它的设计师们在设计用户界面原型的时候能够非常便利.些界面素材让他们使用快速和有效的方式完成用 ...
- 6/19 sprint3 看板和燃尽图的更新
- <转>——网络爬虫
网络蜘蛛即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页,从 网站某一个页面(通常是首页)开始,读 ...
- jquery选择器(原创)
jquery选择器大方向可以分为这样: 下面我们先来看看基本选择器总的CSS选择器: 1.标签选择器: $("element") 其中,参数element,表示待查找的HTML标记 ...
- 重构第11天 使用策略代替Switch(Switch to Strategy)
理解:策略就是平常设计模式中所说的策略模式.因为当你有一个庞大的switch方法的时候,每一次新加一个条件,都要去修改这个方法,这样耦合性太高,不易维护也不易扩展.这样我们就可以使用策略的设计模式,使 ...
- .net中WebService的使用实例
一.创建一个Webwebservice 1.新建一个项目WebserverDemo 2.在项目处添加新建项,添加一个web服务 3.编辑TestServer.asmx文件 3.1 TestServer ...
- Winform开发框架之权限管理系统改进的经验总结(4)-一行代码实现表操作日志记录
在前面介绍了几篇关于我的权限系统改进的一些经验总结,本篇继续这一系列主体,介绍如何一行代码实现重要表的操作日志记录.我们知道,在很多业务系统里面,数据是很敏感的,特别对于一些增加.修改.删除等关键的操 ...
- [CLR via C#]19. 可空值类型
我们知道,一个值类型的变量永远不可能为null.它总是包含值类型本身.遗憾的是,这在某些情况下会成为问题.例如,设计一个数据库时,可将一个列定义成为一个32位的整数,并映射到FCL的Int32数据类型 ...