c++ vector删除指定index的值
时间: 2023-09-28 18:13:10 浏览: 65
您可以使用vector的erase()函数来删除指定索引的元素。以下是一个示例代码:
```c++
#include <iostream>
#include <vector>
int main()
{
std::vector<int> vec = {1, 2, 3, 4, 5};
int index = 2; // 要删除的元素索引
vec.erase(vec.begin() + index); // 删除指定索引的元素
// 输出剩余元素
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}
```
输出结果为: 1 2 4 5
在上面的代码中,我们使用了vector的erase()函数,它接受一个迭代器参数,表示要删除的元素的位置。在这种情况下,我们使用begin()迭代器加上要删除的元素的索引来获取要删除的元素的位置。最后,我们遍历vector并输出剩余的元素。
相关问题
C++删除vector指定下标的元素
可以使用vector的erase函数来删除指定下标的元素。具体操作如下:
```c++
vector<int> vec = {1, 2, 3, 4, 5};
int index = 2; // 要删除的元素下标
vec.erase(vec.begin() + index); // 删除指定下标的元素
```
以上代码将删除vec中下标为2的元素,也就是3。注意,erase函数的参数是一个迭代器,需要使用`vec.begin() + index`来获取要删除元素的迭代器。
c++ vector删除元素
c++ vector删除元素的方法有几种。可以使用pop_back()函数删除最后一个元素,使用erase()函数删除指定位置的元素,或者使用remove()函数删除指定范围内的元素。另外,可以使用find()函数结合erase()函数来删除指定的元素。下面是对这些方法的详细说明:
方法一:使用pop_back()函数删除最后一个元素。
例如,如果vector名为vec,可以使用vec.pop_back()删除最后一个元素。
方法二:使用erase()函数删除指定位置的元素。
例如,如果vector名为vec,可以使用vec.erase(vec.begin() + index)删除索引为index的元素。
方法三:使用remove()函数删除指定范围内的元素。
例如,如果vector名为vec,可以使用vec.erase(remove(vec.begin(), vec.end(), value), vec.end())删除所有值为value的元素。
方法四:使用find()函数结合erase()函数删除指定的元素。
例如,如果vector名为vec,可以先使用find()函数找到要删除的元素的迭代器,然后使用erase()函数删除该元素。
例如:
vector<int>::iterator it = find(vec.begin(), vec.end(), value);
if (it != vec.end()) {
vec.erase(it);
}