CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  工具平台和程序库

map和list、vector有何异同?

楼主tohell(游游)2005-04-04 13:45:20 在 C/C++ / 工具平台和程序库 提问

如题 问题点数:10、回复次数:8Top

1 楼kobefly(科比--网络学习中)回复于 2005-04-04 13:54:26 得分 0

这个  
   
  不是一句2句说的完的  
  Top

2 楼jackael008(jack)回复于 2005-04-04 13:55:32 得分 0

关注Top

3 楼whyglinux(山青水秀)回复于 2005-04-04 13:55:35 得分 3

相同点是都是容器类。不同之处在于list、vector是顺序容器,可以作为目的容器使用;map是联合容器,不能作为目的容器使用。Top

4 楼tohell(游游)回复于 2005-04-04 16:43:46 得分 0

是不是   map   配合   list   使用比较好呢?Top

5 楼steedhorse(晨星)回复于 2005-04-04 16:46:41 得分 0

map是哈希表;  
  list是链式存储的线性表,也叫“链表”;  
  vector是可动态改变大小的顺序存储的线性表,也叫“动态数组”。  
   
  详见《数据结构》,这是基本概念。Top

6 楼vampire_11(青角吹寒)回复于 2005-04-04 17:07:59 得分 3

vector和数组差不多,就是大小是变量,在内存是连续存储;  
  list是队列,每个对象都有前向指针和后象指针,在内存里也不一定是连续存储;  
  map也是使用指针……不说了,看看者三个类定义的属性就知了Top

7 楼xqb0010()回复于 2005-04-04 17:09:44 得分 4

vector是序列容器,内存分配时占用连续空间,因为采用的是随机迭代器,所以得到某一位置的值非常快  
              但是插入和删除比较慢,因为涉及到大块内存的赋值粘贴.  
  list也是容器,但是内存分配是零散的,采用的是双向迭代器,得到某一位置的值并不快,但插入和删除  
              效率很高.  
  map底层采用的是树型结构,多数使用平衡二叉树实现,查找某一值是常数时间,遍历起来效果也不错,  
              只是每次插入值的时候,会重新构成底层的平衡二叉树,效率有一定影响.  
  Top

8 楼xjp6688(大平/要做必须最好)回复于 2005-04-04 17:31:47 得分 0

找找STL看看Top

相关问题

  • Vector和ArrayList的异同
  • 请指教类集中list系列,map系列和tree系列的异同点,各有什么优势
  • 大家知道 vector、list、map的最大容量是多大吗?
  • list < vector <string> > slist --> help
  • 关于list和vector
  • Socket4和Socket5有何异同?
  • heapalloc,globalalloc,virtualalloc,new的异同?
  • .open 和 exec的异同!!
  • asp & asp.net 有何异同?
  • == 和 equals() 有什么异同?

关键词

  • 内存
  • 指针
  • vector
  • 容器
  • 值
  • 插入
  • 树
  • 使用
  • map
  • 存储

得分解答快速导航

  • 帖主:tohell
  • whyglinux
  • vampire_11
  • xqb0010

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo