有没有办法vector在C++ 的中间添加值?说我有:
vector <string> a;
// a gets filled up with "abcd", "wertyu", "dvcea", "eafdefef", "aeefr", etc
Run Code Online (Sandbox Code Playgroud)
我想分解其中一个字符串并将所有部分放回到字符串中vector.我该怎么办?我打破的字符串可以是任何地方,索引= 0,中间某处或索引= a.size() - 1.
您可以通过写入插入vector到位i
v.insert(v.begin() + i, valueToInsert);
Run Code Online (Sandbox Code Playgroud)
但是,这不是很有效; 它在插入元素后与元素数量成比例地运行.如果您打算拆分字符串并将其重新添加,那么最好使用a std::list,它支持在任何地方插入和删除O(1).