c++在指定位置pos前插入给定的值val
时间: 2024-10-20 11:11:55 浏览: 38
在C++中,要在向量(vector)或动态数组等容器中插入元素到特定位置(pos),可以使用`insert()`函数。如果你有一个已排序的向量,比如`std::vector<int>`,并且想要在有序的位置插入,你可以这样做:
```cpp
#include <iostream>
#include <vector>
// 示例:向有序向量中插入值
void insertAtPosition(std::vector<int>& vec, int pos, int val) {
if (pos > vec.size()) {
std::cout << "插入位置超出范围,插入到末尾.\n";
vec.push_back(val);
} else {
vec.insert(vec.begin() + pos, val); // 使用begin() + pos获取插入点
}
}
int main() {
std::vector<int> myVec = {1, 3, 5, 7};
int valToInsert = 4;
int desiredPos = 2; // 插入位置
insertAtPosition(myVec, desiredPos, valToInsert);
for (const auto& element : myVec) {
std::cout << element << " ";
}
return 0;
}
```
在这个例子中,`insert()`函数会在`vec.begin() + pos`处插入`val`,如果`pos`大于当前向量长度,会将值添加到末尾。
阅读全文