哪一个使用?矢量或列表

时间:2014-04-21 03:29:05

标签: list generics data-structures vector stl

我必须存储10种类型的卡片(用户定义的类)。我无法决定是否使用矢量或列表。以下是我将在结构上执行的操作:

  1. 在结构的末尾追加或插入 (最好使用矢量)。

  2. Ramdom访问(要访问的元素可以在结尾,开始或结构中的任何位置)(再次向量是更好的选择)。

  3. 删除随机访问的元素,即从开始或结束或任何位置删除元素 (向量仅适用于最终位置,其他列表首选)。

  4. 将元素从一个位置移动到另一个位置,以便元素不会与所需位置的元素交换,但它会得到 插入(List在这里好多了)。

  5. 以与第4点相同的方式移动多个元素。 (我更喜欢列表)

  6. 那么请你指导哪一个选择。

    非常感谢!

1 个答案:

答案 0 :(得分:3)

听起来你已经对矢量和列表进行了研究,因为你可以看到存在一些相互矛盾的要求。另一件需要考虑的事情可能是这些操作的频繁发生。 I.e您希望从集合中间插入或删除的频率。另一个考虑因素是集合的大小,10个元素是非常小的集合,因此复制10个元素并不是什么大问题,除非你经常这样做。我的默认选择是矢量,但您可以对两者进行分析以查看哪个表现更好。