📌  相关文章
📜  c++ 如何在向量的开头添加一些东西 - C++ (1)

📅  最后修改于: 2023-12-03 14:39:55.136000             🧑  作者: Mango

C++ 如何在向量的开头添加一些东西

向量(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()函数,具体实现方式取决于要插入的元素类型。总体来说,这是一种简单高效的方法,可以在程序中方便地添加和移除数据。