容器之间的差异

时间:2010-06-13 20:58:05

标签: c++

我有点困惑,有人可以解释这些类型的容器之间的主要区别:

map
list
set
array

感谢advanca(我问的是C ++)

3 个答案:

答案 0 :(得分:6)

http://cplusplus.com/reference/stl/

  
      
  • 地图是一种关联容器,用于存储由键值和映射值组合形成的元素。
  •   
  • 列表是一种序列容器。因此,它们的元素按照线性顺序排列。
  •   
  • 集合是一种存储唯一元素的关联容器,其中元素本身就是键。
  •   

数组也是一种序列容器,比list低得多。它们的大小是固定的,它们不会动态管理内存,也不是通用的。它们继承自C。

答案 1 :(得分:2)

SGI has a good tutorial and documentation on STL for the map, list and set。对于数组,任何基本的C或C ++教程都将涵盖此信息。

  • map是一个将键映射到值的容器,可以将其视为查找表。
  • list是一个容器,它是一个支持前向和后向遍历的序列
  • set是一个存储唯一项目列表的容器
  • 数组是一个连续的内存块,任何项目都可以在恒定时间内访问,但在初始大小之后无法增长。

答案 2 :(得分:1)

http://www.cppreference.com/wiki/:你可以考虑一下!“