优草派  >   Python

vector删除指定位置元素

刘芳            来源:优草派

Vector是C++中常用的容器之一,它能够动态地存储和管理元素。在使用Vector时,我们有时需要删除其中的某个元素。本文将从以下几个方面来分析如何删除Vector中的指定位置元素。一、使用erase函数

Vector提供了一个成员函数erase,它可以删除Vector中的某个元素。erase函数需要传入一个迭代器参数,它指向要删除的元素位置。以下是使用erase函数删除指定位置元素的示例代码:

vector删除指定位置元素

```c++

#include

#include

using namespace std;

int main() {

vector v{1, 2, 3, 4, 5};

auto it = v.begin() + 2; // 指向第3个元素(下标为2)

v.erase(it); // 删除第3个元素

for (auto x : v) {

cout << x << " "; // 输出:1 2 4 5

}

return 0;

}

```

二、使用remove函数

除了使用erase函数外,也可以使用算法库中的remove函数来删除Vector中的指定位置元素。remove函数会将要删除的元素移动到Vector的末尾,并返回一个指向新的末尾的迭代器。我们可以使用erase函数将新的末尾元素删除,从而达到删除指定位置元素的目的。以下是使用remove函数删除指定位置元素的示例代码:

```c++

#include

#include

#include

using namespace std;

int main() {

vector v{1, 2, 3, 4, 5};

auto it = v.begin() + 2; // 指向第3个元素(下标为2)

auto new_end = remove(v.begin(), v.end(), *it); // 移动要删除的元素到末尾

v.erase(new_end, v.end()); // 删除新的末尾元素

for (auto x : v) {

cout << x << " "; // 输出:1 2 4 5

}

return 0;

}

```

三、使用pop_back函数

如果我们要删除的元素恰好是Vector的最后一个元素,可以使用pop_back函数来删除它。pop_back函数会将Vector的最后一个元素弹出,并缩小Vector的大小。以下是使用pop_back函数删除最后一个元素的示例代码:

```c++

#include

#include

using namespace std;

int main() {

vector v{1, 2, 3, 4, 5};

v.pop_back(); // 删除最后一个元素

for (auto x : v) {

cout << x << " "; // 输出:1 2 3 4

}

return 0;

}

```

四、删除多个元素

如果我们要删除多个连续的元素,可以使用erase函数。erase函数需要传入两个迭代器参数,它们指向要删除的元素的起始位置和终止位置(不包括终止位置元素)。以下是使用erase函数删除多个元素的示例代码:

```c++

#include

#include

using namespace std;

int main() {

vector v{1, 2, 3, 4, 5};

auto first = v.begin() + 1; // 指向第2个元素(下标为1)

auto last = v.begin() + 3; // 指向第4个元素(下标为3)

v.erase(first, last); // 删除第2个到第4个元素

for (auto x : v) {

cout << x << " "; // 输出:1 4 5

}

return 0;

}

```

五、总结

本文介绍了如何使用Vector的成员函数erase、算法库中的remove以及pop_back函数来删除指定位置元素。此外,还介绍了如何删除多个连续的元素。在使用这些函数时,需要注意迭代器的使用和边界条件的处理。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行