c++ - 如何将元素插入 vector 的开头?

标签 c++ visual-c++ vector std

我需要将值插入到 std::vector 的开头,并且我需要将此 vector 中的其他值推到更远的位置,例如:添加到 vector 开头的内容和值从位置 1 移动到位置 2,从位置 2 移动到位置 3 等等。

我该怎么做?

最佳答案

使用 std::vector::insert接受 iterator to the first element 的函数作为目标位置(在其之前插入元素的迭代器):

#include <vector>

int main() {
    std::vector<int> v{ 1, 2, 3, 4, 5 };
    v.insert(v.begin(), 6);
}

或者,append元素并执行 rotation向右:

#include <vector>
#include <algorithm>

int main() {
    std::vector<int> v{ 1, 2, 3, 4, 5 };
    v.push_back(6);
    std::rotate(v.rbegin(), v.rbegin() + 1, v.rend());
}

关于c++ - 如何将元素插入 vector 的开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48251254/

相关文章:

c++ - C++ 中 std::vector 的基本问题

c++ - 双链表 - 不能删除第一个节点

c++ - 创建一个 TH2,其中包含给定 bin 中变量的标准差

C++ 线程安全 - 在 worker 和 controller 之间交换数据

c++ - 语法错误编译 header 包含 "char[]"

c++ - 如何计算给定 vector 索引的补码?

c++ - 通用 C++ 架构

c++ - 即使其参数看起来正确,子字符串也会给出看似随机的结果

c++ - 使用 WinCE7 平台构建器在 Visual Studio 2008 中为 WinCE7 在 Visual C++ 中创建 Winforms

c++ - 指向具有 decltype 的函数的指针 vector