vector怎么用迭代器删除指定元素

   2025-02-04 7310
核心提示:可以使用迭代器删除vector中的指定元素。具体步骤如下:定义一个迭代器变量,指向vector的第一个元素。使用while循环遍历vector

可以使用迭代器删除vector中的指定元素。具体步骤如下:

定义一个迭代器变量,指向vector的第一个元素。使用while循环遍历vector,判断迭代器是否指向vector的末尾。在循环中,判断当前迭代器指向的元素是否为要删除的元素。如果是要删除的元素,使用erase函数删除当前元素,并将迭代器指向下一个元素。如果不是要删除的元素,就将迭代器指向下一个元素。循环结束后,vector中的指定元素将被删除。

以下是一个示例代码:

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

运行以上代码,输出结果为:

1 2 4 5

在上面的示例中,我使用迭代器iter来遍历vector中的元素。在每次循环中,我首先判断当前元素是否为要删除的元素,如果是就使用erase函数删除当前元素,并将迭代器指向下一个元素;如果不是,则只将迭代器指向下一个元素。最后,我使用一个for循环输出删除元素后的vector。

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