vector怎么删除第n个元素

avatar
作者
猴君
阅读量:0

要删除一个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中的元素数量减少了一个。