C ++,用n个元素替换第i个元素(低复杂度)

时间:2018-12-12 16:26:57

标签: c++ vector replace

假设两个向量:

std::vector<int> v1{1, 10, 18, 41, 6};
std::vector<int> v2{-12, 107, 14, -3, 5};

如何用v2替换v1的第i个元素?例如

v1[2]<-v2

导致

v1={1, 10, -12, 107, 14, -3, 5 , 41, 6}

简单的解决方案是:

v1[2] = v2[0]
v1.insert(v1.begin() + 3, v2.begin() + 1, v2.end())

有没有更快(时间复杂度更低)的方法?是否可以将这些操作作为单个语句执行?

感谢您的帮助。

0 个答案:

没有答案