c++ vector 在最后一个元素前insert
时间: 2023-07-25 20:06:59 浏览: 37
C++ 的 vector 类提供了一个 insert() 函数,可以用于在指定位置前插入一个或多个元素。如果要在最后一个元素前插入元素,可以使用 end() 函数返回的迭代器作为插入位置,如下所示:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec {1, 2, 3, 4};
auto it = vec.end(); // 获取最后一个元素的迭代器
vec.insert(it, 5); // 在最后一个元素前插入 5
for (auto i : vec) {
std::cout << i << ' ';
}
std::cout << '\n';
return 0;
}
```
上述代码将输出:`1 2 3 5 4`。在这个例子中,我们创建了一个包含 1 到 4 四个整数的 vector,然后使用 end() 获取最后一个元素的迭代器,并在该位置前插入了一个值为 5 的元素。最终输出的 vector 中,5 被插入到了最后一个元素 4 的前面。
相关问题
c++ vecotr在最后一个元素前插入
在 C++ 中,可以使用 `vector::insert` 函数在 vector 的最后一个元素前插入一个新的元素。具体实现方式如下:
```cpp
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4};
// 在最后一个元素前插入新元素 5
v.insert(v.end() - 1, 5);
// 输出 vector 中的所有元素
for (auto i : v) {
std::cout << i << " ";
}
return 0;
}
```
运行结果为:`1 2 3 5 4`。
在上面的代码中,`v.end() - 1` 表示最后一个元素的迭代器,也就是 `4` 所在的位置。将新元素 `5` 插入到这个位置之前,即可实现在最后一个元素前插入新元素的效果。
C++的vector的insert在某个元素后添加
你可以使用`std::vector`的`insert`函数来指定元素后插入新元素。`insert`函数接受两个迭代器参数,第一个迭代器指向插入位置的元素之后,第二个迭代器指向要插入的元素。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4};
// 在元素2后插入新元素5
auto it = std::find(vec.begin(), vec.end(), 2);
if (it != vec.end()) {
vec.insert(it + 1, 5);
}
// 输出结果:1 2 5 3 4
for (const auto& num : vec) {
std::cout << num << " ";
}
return 0;
}
```
在上述代码中,我们使用`std::find`函数找到元素2的位置,并将其作为插入位置。然后,我们使用`insert`函数在此位置后插入新元素5。最后,我们遍历并输出修改后的`vector`内容。