博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
set,multiset容器类型
阅读量:5214 次
发布时间:2019-06-14

本文共 791 字,大约阅读时间需要 2 分钟。

set和multiset会根据特定的排序准则,自动将元素排序。两者不同处在于multiset允许元素重复而set不允许。

一、集和多集(set 和multiset 容器类)

在使用set和multiset之前,先必须包含头文件<set>

#include <set>
在其中,set和multiset被定义为命名空间std内的class template:

1 namespace std {   2     template
, 4
> 5 class set; 6 7 8 template
, 10
> 11 class multiset; 12 }

第一个template参数当做元素的value。

第二个参数可有可无,用它来定义排序准则。缺省准则less-这是一个仿函数,以opertor<对元素进行比较,以便完成排序。
第三个template参数可有可无,用它来定义内存模型。缺省的内存模型是allocator,由C++标准程序库提供。
一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。
集和多集的区别是:set支持唯一键值,set中的值都是特定的,而且只出现一次;而multiset中可以出现副本键,同一值可以出现多次。

构造:

如:set<int,less<int> > set1;

less<int>是一个标准类,用于形成升序排列函数对象。降序排列是用greater<int>。

转载于:https://www.cnblogs.com/csxcode/p/3720949.html

你可能感兴趣的文章
IP 协议
查看>>
Django admin简单介绍
查看>>
C#线程同步(3)- 互斥量 Mutex
查看>>
MySQL全文索引--转载
查看>>
[转载] C#面向对象设计模式纵横谈——18 Iterator迭代器模式
查看>>
Vue的路由动态重定向和导航守卫
查看>>
p67交换幺环为整环的充要条件
查看>>
WPF 重写微调自带的样式,ListView、DataGrid、TreeView等所有控件的默认样式
查看>>
bzoj3694: 最短路(树链剖分/并查集)
查看>>
冲刺Two之站立会议10
查看>>
配置docker容器上ssh无密登录
查看>>
vue中给buttion按钮添加键盘回车(enter)事件
查看>>
轮播图记录篇
查看>>
Codevs 1227 方格取数 2(费用流)
查看>>
ef 吐糟
查看>>
读取字体.ttf文件,生成艺术字图片代码
查看>>
上周热点回顾(6.11-6.17)
查看>>
记一次简单的清理挖矿程序过程
查看>>
黑马Java学习笔记之-----静态导入、可变参数和高级For循环
查看>>
java时间调度Quartz入门demo代码示例
查看>>