c++ 修改vector某个元素的值
时间: 2023-08-04 22:35:07 浏览: 122
要修改 vector 中某个元素的值,可以使用下标运算符 [] 或者迭代器来访问该元素并进行修改。例如:
```c++
#include <vector>
#include <iostream>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用下标运算符 [] 修改元素值
vec[2] = 6;
// 使用迭代器修改元素值
auto it = vec.begin();
it += 3; // 移动迭代器到第四个元素
*it = 7;
// 输出修改后的 vector 元素
for (int i : vec) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
上述代码中,我们使用下标运算符 [] 和迭代器分别修改了第三个和第四个元素的值。注意,使用下标运算符 [] 修改元素时,要确保下标不越界。
相关问题
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`内容。
c++ 如何判断vector中是否半酣某个元素
在 C++ 中,可以使用 `find()` 函数来查找 `vector` 中是否包含某个元素。该函数的用法如下:
```c++
#include <vector>
#include <algorithm>
using namespace std;
// 判断 vector 中是否包含某个元素
bool isContain(vector<int>& vec, int num) {
return (find(vec.begin(), vec.end(), num) != vec.end());
}
```
这里定义了一个名为 `isContain()` 的函数,该函数接受一个 `vector` 和一个整数作为参数,用于判断该 `vector` 是否包含该整数。函数使用 STL 中的 `find()` 函数来查找元素,如果找到了该元素,则返回 `true`,否则返回 `false`。
以下是一个示例程序,演示了如何使用 `isContain()` 函数来判断 `vector` 中是否包含某个元素:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool isContain(vector<int>& vec, int num) {
return (find(vec.begin(), vec.end(), num) != vec.end());
}
int main() {
vector<int> vec = {1, 2, 3, 4, 5}; // 定义 vector
int num = 3; // 要查找的元素
if (isContain(vec, num)) {
cout << "vector 中包含元素 " << num << endl;
} else {
cout << "vector 中不包含元素 " << num << endl;
}
return 0;
}
```
运行程序后,屏幕上会输出 `vector 中包含元素 3`。如果将 `num` 的值修改为 6,则会输出 `vector 中不包含元素 6`。