温馨提示×

vector怎么删除第n个元素

小亿
113
2024-01-17 20:54:41
栏目: 编程语言

要删除一个vector中的第n个元素,可以使用C++的erase()函数。该函数需要两个参数,第一个参数是一个迭代器,指向要删除的元素,第二个参数是一个迭代器,指向要删除范围的下一个位置。

下面是一个示例代码,演示如何删除vector中的第n个元素:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    int n = 3; // 要删除的第n个元素

    if (n >= 1 && n <= vec.size()) { // 确保n的值在合法范围内
        vec.erase(vec.begin() + n - 1); // 删除第n个元素
        std::cout << "删除成功!" << std::endl;
    } else {
        std::cout << "删除失败,索引无效!" << std::endl;
    }

    // 输出删除后的vector
    for (int num : vec) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上述示例代码中,我们首先定义了一个包含5个元素的vector。然后,指定要删除的第n个元素(这里为3),并进行合法性检查。如果n的值在合法范围内,我们使用erase()函数删除第n个元素。最后,我们输出删除后的vector。

输出结果为:

删除成功!
1 2 4 5

可以看到,第3个元素(值为3)已经被成功删除,vector中的元素数量减少了一个。

0