21xrx.com
2024-11-22 14:01:33 Friday
登录
文章检索 我的文章 写文章
C++ vector的insert()函数使用迭代器
2023-06-23 21:02:44 深夜i     --     --
C++ vector insert() 迭代器

C++是一种面向对象的编程语言,它支持许多容器类,其中包括vector。vector是一个动态数组,它允许快速的元素插入和删除。在vector中插入元素就需要用到insert()函数,这个函数的参数是一个迭代器。

vector提供了多个insert()函数重载,其中最常用的是以下形式:

vector.insert(iterator position, constType& val);

在这个函数中,第一个参数是一个迭代器,用于指定元素插入的位置,第二个参数是要插入的元素。

如下代码演示了如何使用insert()函数向vector中插入元素:


#include <iostream>

#include <vector>

using namespace std;

int main()

{

  vector<int> vec = 20;

  vector<int>::iterator it = vec.begin() + 2;

  vec.insert(it, 25);

  for (auto i : vec)

    cout << i << " ";

  

  return 0;

}

输出结果为:


10 20 25 30 40 50

在这个示例中,我们首先定义了一个整型vector,并初始化了5个元素。然后我们定义了一个迭代器变量it,在vec中的第三个位置上(即30的前面)。最后,我们使用insert()函数将25插入到it指向的位置。最终,我们通过遍历vector来验证插入的结果。

需要注意的是,insert()函数不仅可以用于向vector中插入单个元素,还可以用于向vector中插入一组元素。例如,下述代码向vector中插入两个元素:


vector<int> vec = 20;

vector<int>::iterator it = vec.begin() + 2;

vector<int> newVec = 35 ;

vec.insert(it, newVec.begin(), newVec.end());

总之,insert()函数是vector容器中的一个重要函数,能有效的在任意位置插入元素,使用时一定要注意迭代器的类型和指向的位置。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复