当 vector 存在并试图删除该 vector 的背面时。
就时间复杂度而言,使用“vector.assign”是否有效?或者使用'vector.erase'是否有效?
请让我知道每种情况下的时间复杂度。
[例如]
vector<int> v = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 1. use assign
v.assign(v.begin(), v.begin() + 5);
// 2. use erase
v.erase(v.begin() + 5, v.end());
最佳答案
I would like to use vectors that consist only of elements from the beginning section of vectors to a certain index.
使用
resize
最有效,因为这就是该功能的用途。对于它的值(value),自我-
assign
容器不允许更换。
关于c++ - 什么更有效率? vector.assign 与 vector.erase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64841045/