📅  最后修改于: 2023-12-03 14:39:55.136000             🧑  作者: Mango
向量(vector)是C++中的一个重要的STL容器,其可以动态地存储数据,而且支持类似数组的随机访问。有时候我们需要在向量的开头添加一些东西,比如插入一个元素或者另一个向量,那么该怎么做呢?下面将详细介绍在C++中如何实现向量的头部插入。
我们可以使用STL提供的insert()函数,在向量的begin()位置处插入新的元素。需要注意的是,由于插入元素会导致内存地址的变化,因此我们需要将迭代器指向插入后的新位置。下面是一个示例代码:
#include <iostream>
#include <vector>
int main()
{
std::vector<int> vec = { 1, 2, 3, 4, 5 };
vec.insert(vec.begin(), 0); // 在向量头部插入元素0
for (auto it = vec.begin(); it != vec.end(); ++it)
std::cout << *it << " ";
return 0;
}
输出:
0 1 2 3 4 5
如果想要在向量的头部插入另一个向量,我们使用insert()函数的范围插入版本,指定新向量的begin()和end()迭代器即可。下面是一个示例代码:
#include <iostream>
#include <vector>
int main()
{
std::vector<int> vec1 = { 1, 2, 3, 4, 5 };
std::vector<int> vec2 = { 6, 7, 8 };
vec1.insert(vec1.begin(), vec2.begin(), vec2.end()); // 在向量头部插入另一个向量
for (auto it = vec1.begin(); it != vec1.end(); ++it)
std::cout << *it << " ";
return 0;
}
输出:
6 7 8 1 2 3 4 5
C++中向量的头部插入可以使用STL提供的insert()函数,具体实现方式取决于要插入的元素类型。总体来说,这是一种简单高效的方法,可以在程序中方便地添加和移除数据。