如何将元素从右向左插入向量



假设我有一个由元素组成的向量:

1 2 3 4 5 6 7

我有另一个矢量,它包括:

9 8

将两者相加后,结果应该是:

9 8 1 2 3 4 5 6 7

这就是我试图做的:

v1.insert(v1.begin() + 0, 9); //at the beginning of v1 insert 9
v1.insert(v1.begin() + 0, 8); //at position 1 of v1 insert 8
for (int i = 7;i > 0;i--)
    {
     v1.insert(v1.end(), v2[i]);
    }

结果是987654321

您正在从右向左遍历向量(i 7向下到0(。一种方法是从0到7。另一种方式:

for (int val : v2) {
  v1.push_back(v2);
}

v1.insert(v1.end(), v2.begin(), v2.end());

使用STL的替代方法:

std::copy(v1.begin(), v1.end(), std::back_inserter(v2));

最新更新