要删除vector里的元素
时间: 2023-11-27 21:52:15 浏览: 30
要删除 vector 中的元素,可以使用 `erase()` 函数。该函数接受一个迭代器参数,用于指定要删除的元素的位置。例如,如果要删除 vector 中的第三个元素,可以这样写:
```cpp
std::vector<int> myVec = {1, 2, 3, 4, 5};
myVec.erase(myVec.begin() + 2); // 删除第三个元素(下标为 2)
```
在这个例子中,`myVec.begin()` 是一个迭代器,指向 vector 的第一个元素。`myVec.begin() + 2` 的结果是一个指向 vector 中第三个元素的迭代器,因此 `erase()` 函数将删除该元素。如果要删除多个元素,可以在一个循环中多次调用 `erase()` 函数,或者使用 `remove_if()` 算法。
相关问题
c++ 里vector删除元素
在 C++ 中,可以使用 vector 的 erase() 函数来删除元素。erase() 函数接受一个迭代器参数,指向要删除的元素。例如,删除 vector v 中的第 i 个元素,可以使用以下代码:
```
v.erase(v.begin() + i);
```
其中,v.begin() 返回一个指向 vector 开头的迭代器,加上 i 就是指向第 i 个元素的迭代器。
如果要删除多个元素,可以使用 erase() 函数的另一个重载版本,该版本接受两个迭代器参数,指定要删除的元素范围。例如,删除 vector v 中从第 i 个元素到第 j 个元素(不包括第 j 个元素),可以使用以下代码:
```
v.erase(v.begin() + i, v.begin() + j);
```
c++里的vector删除元素
删除C++中的vector容器中的元素有多种方式。一种方式是使用clear()成员函数,此函数可以删除容器中的所有元素,并将容器的大小设置为0。另一种方式是使用pop_back()函数,该函数可以删除容器中的最后一个元素。还可以使用erase(pos)函数删除容器中指定位置的元素,其中pos是一个迭代器。另外,可以使用erase(beg, end)函数删除容器中指定范围的元素,其中beg和end是迭代器,表示要删除的元素范围的起始和结束位置。此外,还可以使用swap()函数和pop_back()函数结合使用,先交换要删除的目标元素和容器中最后一个元素的位置,然后再使用pop_back()函数删除该目标元素。最后,可以使用remove()函数删除容器中所有与指定元素值相等的元素。
示例代码:
```
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> demo{ 1,2,3,4,5 };
demo.pop_back(); // 使用pop_back()删除最后一个元素
// 输出demo容器的新大小
cout << "size is :" << demo.size() << endl;
// 输出demo容器的新容量
cout << "capacity is :" << demo.capacity() << endl;
// 输出demo容器中剩余的元素
for (int i = 0; i < demo.size(); i++) {
cout << demo[i] << " ";
}
return 0;
}
```