博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
map set区别
阅读量:5138 次
发布时间:2019-06-13

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

STL中的容器有顺序容器 (vector,list,deque),关联容器(map,set)还有一些其他容器。

根据不同的场合选择不同的容器,会有意想不到的收获。
Map是单词mapping(映射)的缩写
Set是单词set(集合)的意思;
Map和set内部的元素不可以重复,这一点不同于multimap和multiset。
map 和 set使用相同的数据结构,其内部实现都是R-B树,不同的是其中的Iterator的格式不一样,map使用pair这种配对的数据,并根据pair中第一个元素的值进行排序,而set的iterator并不具备天生的pair类型的元素,直接根据其中的元素进行排序,下面的伪码也许可以更清楚的表述:

 C++ Code 
1
2
 
typedef
 
template
<
class
 Key, 
class
 Value> rb_tree< pair<Key, Value> > map;
typedef
 
template
<
class
 T> rb_tree< T > set;

map的节点是一对数据,set的节点是一个数据。

map的形式 map<type1, type2> mymap;
set的形式  set<type> myset;
 一般map是对有关联的事物存储,操作。  
  set是对一个字段进行存储,操作。

转载于:https://www.cnblogs.com/hellogiser/p/map-set.html

你可能感兴趣的文章
适合建索引?不适合建索引?分析
查看>>
LiveQing私有云流媒体-云端录像时间轴视频及列表视图
查看>>
LiveNVR稳定RTSP流媒体服务器软件支持网络摄像机Onvif探测接入并进行云台控制
查看>>
用python实现一个小游戏——抽牌
查看>>
牡丹花季
查看>>
vue2.0 资源文件assets和static的区别
查看>>
是否手机访问
查看>>
andorid界面布局学习 之 使用代码实现界面布局
查看>>
【Win 10 应用开发】UI Composition 札记(七):基于表达式的动画
查看>>
C语言中一维数组
查看>>
【转载】java 中 String s = new String("abc") 创建了几个对象?!
查看>>
C#开发Unity游戏教程之使用脚本变量
查看>>
ADT队列/FIFO表
查看>>
Nginx 开启 path_info功能
查看>>
第二次实验
查看>>
[bzoj3160]万径人踪灭_FFT_Manacher
查看>>
[bzoj1717][Usaco2006 Dec]Milk Patterns 产奶的模式_后缀数组_二分答案
查看>>
document.ready和onload的区别——JavaScript文档加载完成事件 .
查看>>
JSONP跨域访问实现登录验证
查看>>
编程杂记
查看>>