将元素插入到中间的向量中

时间:2012-12-12 08:19:38

标签: c++ vector

是否有一种方法可以从以下矢量中插入/删除元素..

  1. 使用'push_back'的正式方法
  2. 以这种方式使用'find()'... find(v.begin(),v.end(),int)
  3. 我已经读过一些可以通过包含插入/删除来实现中间插入的内容。

    那么,这真的可能吗?

3 个答案:

答案 0 :(得分:4)

您可以使用std::vector::insert;但请注意,此操作为O(.size())。如果您的代码需要经常在中间执行插入,则可能需要切换到链接列表结构。

答案 1 :(得分:3)

Is there an way of inserting/deleting an element from the vectors other than the following

是的,您可以使用std::vector::insert()在指定位置插入元素。

因为向量使用数组作为其底层存储,所以在向量末端以外的位置插入元素会导致容器将位置之后的所有元素移动到新位置。与通过其他类型的序列容器(例如std :: list)对相同操作执行的操作相比,这通常是低效的操作。

std::vector是标准容器,您可以在其上应用标准STL algorithms

答案 2 :(得分:-1)

vector::insert似乎就是你想要的。