c++删除vector中的一个指定元素
时间: 2023-09-28 17:13:48 浏览: 71
在 C++ 中,你可以使用 `std::vector` 的 `erase` 函数来删除一个指定的元素。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除元素 3
for (auto it = vec.begin(); it != vec.end(); ++it) {
if (*it == 3) {
vec.erase(it);
break;
}
}
// 打印剩余的元素
for (auto num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
运行上述代码,输出将是 `1 2 4 5`。在这个例子中,我们使用了迭代器来遍历 `vector`,找到需要删除的元素后使用 `erase` 函数进行删除。
注意:如果需要删除多个相同的元素,可以使用循环来重复调用 `erase` 函数,或者使用标准库提供的算法函数 `std::remove` 和 `std::remove_if` 来实现。
相关问题
C++ 删除vector指定元素
要删除 vector 中的指定元素,可以使用 erase() 函数,该函数接受一个迭代器作为参数,指定要删除元素的位置。以下是一个示例代码,演示如何删除 vector 中指定元素:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {1, 2, 3, 4, 5};
int elem = 3; // 要删除的元素
for (auto it = vec.begin(); it != vec.end(); ) {
if (*it == elem)
it = vec.erase(it); // 删除元素
else
++it;
}
// 输出删除后的 vector
for (auto i : vec)
cout << i << " ";
cout << endl;
return 0;
}
```
在上面的代码中,我们使用了一个 for 循环遍历 vector 中的元素,并在找到指定元素时使用 erase() 函数将其删除。注意,每次删除后迭代器需要重新赋值,以便指向下一个元素。最后,我们输出删除后的 vector,以确认指定元素已被删除。
c++vector删除指定元素
vector的删除操作可以通过erase函数实现,删除指定元素需要先找到该元素的位置,然后再调用erase函数进行删除。
以下是一个示例代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v{1, 2, 3, 4, 5};
// 删除指定元素
int target = 3;
for (auto it = v.begin(); it != v.end(); ++it) {
if (*it == target) {
v.erase(it);
break;
}
}
// 输出删除后的vector
for (auto i : v) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
上述代码中,首先定义了一个包含5个元素的vector,然后指定要删除的元素为3。接着使用for循环遍历vector中的每个元素,如果找到了目标元素,就调用erase函数进行删除,并使用break语句跳出循环。最后再输出删除后的vector,即可得到删除指定元素后的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)