【发布时间】:2011-10-24 16:36:46
【问题描述】:
我很困惑。我不知道我应该使用什么容器。我先告诉你我需要什么。基本上我需要一个可以存储 X 个对象的容器(对象的数量是未知的,可能是 1 - 50k)。
我读了很多,在这里array vs list 它说:如果对象的数量未知,则需要调整数组的大小(我不确定如何在 C++ 中调整数组的大小),它还指出,如果使用链表,如果要搜索某个项目,它将从头到尾循环(迭代)(反之亦然),而数组可以指定“索引处的数组对象”。
然后我选择了另一种解决方案,地图、矢量等。就像这个:array vs vector。一些响应者说永远不要使用数组。
我是 C++ 新手,之前只使用过数组、向量、列表和映射。现在,就我而言,您会推荐我使用哪种容器?让我重新表述一下我的要求:
- 需要是容器
- 存储的对象数量未知,但很大(可能 1 - 40k)
- 我需要遍历容器以查找特定对象
【问题讨论】:
-
您可能想阅读一些书籍,其中包含有关数据结构的章节,以了解为什么您会选择其中一种。 编辑: Als 的图表涵盖了我的其余评论 :)
-
当您说遍历容器以查找特定对象时,您的实际意思是什么?在给定位置定位元素?找到一个你知道值的元素?找到满足某些条件的元素?
-
@david:当新的输入/字符串进来时,我需要检查它是否存在于我的容器中,如果不存在则我创建一个新的。
标签: c++ arrays list vector containers