码迷,mamicode.com
首页 > 其他好文 > 详细

map set区别

时间:2014-11-04 12:24:53      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   使用   for   sp   数据   

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是对一个字段进行存储,操作。

map set区别

标签:style   blog   http   color   ar   使用   for   sp   数据   

原文地址:http://www.cnblogs.com/hellogiser/p/map-set.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!