mailao
日历
网志分类
· 所有网志 (183)
· 我乱写的 (3)
· Graphics & Engine (4)
· Learn DFA (112)
· 抄的 (60)
· 未分类 (4)
站内搜索
友情链接
· 我的歪酷 非非共享界

订阅 RSS

0071854

歪酷博客

不超越惰性的防线,信念将在彷徨中夭折。
« 上一篇: 学习STL map, STL set之数据结构基础 下一篇: c++ STL algorithm 列表(转) »
mailao @ 2007-11-06 10:59

stl中:
Map使用关键值Key来唯一标识每一个成员 map可以重复。
set是集合
map是映射
集合中的元素不能重复,set可以进行集合的各种操作(交并补等),当然你也可以用list或vector实现set,但是效率会很低。set一般是用平衡树或哈西表实现的。
映射是一种一一对应的关系,哈西表也可以看作是映射的一种。映射通常可用来实现字典结构(dictionary)


map和set使用相同的数据结构,只是其中的iterator的格式不一样,map使用pair这种配对的数据,并根据pair中第一个元素的值进行排 序,而set的iterator并不具有天生的pair类型的元素,直接根据其中的元素进行排序,看下面的伪码可能更清楚:
typedef template<class Key, class Value> rb_tree< pair<Key,Value> > map;
typedef template<class T> rb_tree< T > set;




评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定