vector earse函数
时间: 2023-05-10 22:00:35 浏览: 111
vector与map的erase()函数详细解析
5星 · 资源好评率100%
vector erase函数是STL(标准模板库)中的一个成员函数,用于删除vector容器中的元素。vector是一种动态数组数据结构,可以在其末尾或中间插入或删除元素。
erase函数有两个重载版本:一个接受一个位置或迭代器参数,表示要删除的元素的位置;另一个接受迭代器范围参数,表示要删除的一段元素。
当我们在删除单个元素时,可以使用erase函数的第一个版本。例如,如果我们有一个vector容器v,并想删除第三个元素(索引位置为2),则可以使用以下代码:
v.erase(v.begin() + 2);
在这里,v.begin()是第一个元素的位置,v.begin()+2是第三个元素的位置,因为vector是从0开始计数的。
如果我们想删除一定范围内的元素,则可以使用erase函数的第二个版本。例如,如果我们有vector容器v和迭代器变量it1和it2,表示从第二个元素到第四个元素的范围(不包括第五个)应该被删除,则可以使用以下代码:
v.erase(it1, it2);
在这里,it1是指向起始位置的迭代器,it2是指向终止位置(不包括)的迭代器。这将删除在it1和it2之间的所有元素。
需要注意的是,使用erase函数删除元素会使vector内所有在该元素之后的元素索引发生变化。因此,在使用erase函数后,我们需要重新调整vector内元素的索引位置。
阅读全文