List和map的区别是?

yhfzmm1988 2009-03-23 04:03:37
求C++语言的list和map的区别???
...全文
972 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhfzmm1988 2009-04-04
  • 打赏
  • 举报
回复
list是个顺序存储的,并且不能单个被存储。
map是键值对存储的,通过键值来访问里面的值。
yhfzmm1988 2009-04-04
  • 打赏
  • 举报
回复
谢谢各位朋友
woods2001 2009-04-04
  • 打赏
  • 举报
回复
容器类
Jarrys 2009-04-04
  • 打赏
  • 举报
回复
list<>是线性表 ,链表
map<>是映射表,有键
Laozql 2009-04-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tangshuiling 的回复:]
C/C++ code
如果楼主了解数据结构便不会有此一问。
STL中的list是双向链表结构,map是红黑树,所有的操作都是基于这两种基本的数据结构。
至于map中的值对关联无非是红黑树上的一个节点而已!
请静下心来读解下面的连接:
http://blog.sina.com.cn/s/blog_5d2b79d20100bg61.html
[/Quote]
up!
danxuezx 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 iambic 的回复:]
list是一个一个的,map是一对一对的。
[/Quote]
up
fairchild811 2009-03-23
  • 打赏
  • 举报
回复
list: 1->2->3->4
map: first = 1
second = 2
third = 3 //比如根据third,可以查找到对应的值为3
four = 4

这个map好像和borland的map是不一样的;)
  • 打赏
  • 举报
回复
先问下楼主,list跟,map的联系是什么?
你能把他们混用吗?
顺序容器跟关联容器的区别很明显吧。
dongpy 2009-03-23
  • 打赏
  • 举报
回复
list是线性表
map是映射表
hust_terry 2009-03-23
  • 打赏
  • 举报
回复
查找的时候一个是遍历,一个是二分法。
iambic 2009-03-23
  • 打赏
  • 举报
回复
list是一个一个的,map是一对一对的。
yangch_nhcmo 2009-03-23
  • 打赏
  • 举报
回复
一个是序列容器(list),一个是关联容器(map);
list封装的是双链表;map封装的是二叉树,
wxgiter 2009-03-23
  • 打赏
  • 举报
回复
建议看STL
tangshuiling 2009-03-23
  • 打赏
  • 举报
回复

如果楼主了解数据结构便不会有此一问。
STL中的list是双向链表结构,map是红黑树,所有的操作都是基于这两种基本的数据结构。
至于map中的值对关联无非是红黑树上的一个节点而已!
请静下心来读解下面的连接:
http://blog.sina.com.cn/s/blog_5d2b79d20100bg61.html
夹心饼干 2009-03-23
  • 打赏
  • 举报
回复
map是通过唯一的主键对应值关联,在查找方面有很高的效率
list容器在添加和删除上效率很高
wangyadong 2009-03-23
  • 打赏
  • 举报
回复
区别很大啊,list容器是表示不连续的内存区域,不支持随即访问,可以高效的添加和删除元素
map是关联容器,是键-值对的集合,可以用键作为下标获取值
建议看看stl
fpsonly 2009-03-23
  • 打赏
  • 举报
回复
这个。。去找本STL的书看看吧,简单来说,list象动态数组,map是键值索引,一般都是string做为索引

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧