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

Inserting an element into vector in the middle

本文关键字:中间 元素 插入      更新时间:2023-10-16

有没有办法从向量中插入/删除元素,而不是以下内容。

  1. 使用"push_back"的形式化方法
  2. 以这种方式使用"find()"...find(v.begin(), v.end(), int)

我读过一些可以通过包容性插入/删除来实现中间插入的地方。

那么,真的可能吗?

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

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

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