vecter 删除指定位置函数
时间: 2023-12-28 19:03:15 浏览: 8
要删除指定位置的元素,你可以使用 `std::vector` 的 `erase` 函数。`erase` 函数接受一个迭代器参数,用于指定要删除的元素位置。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除位置为 2 的元素
auto it = vec.begin() + 2;
vec.erase(it);
// 打印剩余的元素
for (const auto& elem : vec) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
```
在上面的代码中,我们使用 `vec.begin() + 2` 来获取位置为 2 的迭代器,然后调用 `erase` 函数删除该元素。
输出结果为:`1 2 4 5`,其中位置为 2 的元素 3 已被删除。
请注意,在使用迭代器时要确保它是有效的,并且要对迭代器进行适当的处理,以避免迭代器失效导致未定义行为。
相关问题
vector删除指定位置
你可以使用 vector 的 erase() 函数来删除指定位置的元素。erase() 函数接受一个迭代器参数,它表示要删除的元素位置,可以是一个指向 vector 中任何一个元素的迭代器。
例如,如果你想删除 vector 的第三个元素,可以使用以下代码:
```
vector<int> myVector = {1, 2, 3, 4, 5};
auto it = myVector.begin() + 2; // 获取指向第三个元素的迭代器
myVector.erase(it); // 删除第三个元素
```
在这个例子中,我们使用 begin() 函数获取 vector 的起始位置迭代器,然后加上 2,得到指向第三个元素的迭代器。最后,我们传递这个迭代器给 erase() 函数,删除这个元素。
注意,erase() 函数会返回指向被删除元素之后的元素的迭代器,因此在删除元素后,要更新迭代器指向正确的位置。
vector删除指定位置元素
要删除 vector 中指定位置的元素,可以使用 `erase` 函数。以下是一个示例:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
int index = 2; // 要删除的元素的索引
if (index >= 0 && index < vec.size()) {
vec.erase(vec.begin() + index);
} else {
std::cout << "索引超出范围!" << std::endl;
}
// 打印删除元素后的 vector
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在上述示例中,我们创建了一个 `std::vector`,然后指定要删除的元素的索引为 `2`。通过检查索引是否在有效范围内,我们使用 `erase` 函数删除指定位置的元素。最后,我们遍历打印删除元素后的 vector。
输出结果为:`1 2 4 5`,可以看到元素 `3` 已成功被删除。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)