c++ vector遍历删除的方法是什么

   2025-02-15 9010
核心提示:在 C++ 中,可以使用迭代器(iterator)来遍历 vector 并删除元素。具体的步骤如下:创建一个迭代器,并将其初始化为 vector 的

在 C++ 中,可以使用迭代器(iterator)来遍历 vector 并删除元素。具体的步骤如下:

创建一个迭代器,并将其初始化为 vector 的开始位置。使用循环,通过迭代器遍历整个 vector。在循环体内部,判断当前迭代器所指向的元素是否满足需要删除的条件。如果满足删除条件,使用迭代器的 erase() 函数来删除当前元素,并将迭代器指向下一个元素。如果不满足删除条件,将迭代器指向下一个元素。循环结束后,所有满足删除条件的元素都已被删除。

下面是一个示例代码:

#include <iostream>#include <vector>int main() {    std::vector<int> vec = {1, 2, 3, 4, 5};        for (auto it = vec.begin(); it != vec.end();) {        if (*it % 2 == 0) {            it = vec.erase(it);        } else {            ++it;        }    }        for (int num : vec) {        std::cout << num << " ";    }        return 0;}

输出结果为:1 3 5

在上述示例中,通过使用迭代器遍历 vector,并使用 erase() 函数删除满足条件的偶数元素。注意,在删除元素后,迭代器会自动指向下一个元素,因此不需要在循环中进行额外的迭代器自增操作。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言