举完整的代码例子说明C++ 迭代器增,删,改,查vector 中的元素
时间: 2024-04-14 14:31:19 浏览: 74
下面是一个完整的代码示例,演示了如何使用迭代器对C++中的vector容器进行元素的增删改查操作:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5};
// 遍历vector并输出每个元素
std::cout << "原始vector:";
for (std::vector<int>::iterator it = nums.begin(); it != nums.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
// 增加元素
nums.push_back(6);
std::cout << "增加元素后的vector:";
for (std::vector<int>::iterator it = nums.begin(); it != nums.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
// 删除元素
std::vector<int>::iterator delIt = nums.begin() + 2; // 删除第3个元素
nums.erase(delIt);
std::cout << "删除元素后的vector:";
for (std::vector<int>::iterator it = nums.begin(); it != nums.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
// 修改元素
std::vector<int>::iterator modifyIt = nums.begin() + 1; // 修改第2个元素
*modifyIt = 10;
std::cout << "修改元素后的vector:";
for (std::vector<int>::iterator it = nums.begin(); it != nums.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
// 查找元素
int target = 4;
std::vector<int>::iterator findIt = std::find(nums.begin(), nums.end(), target);
if (findIt != nums.end()) {
std::cout << "找到元素 " << target << std::endl;
} else {
std::cout << "未找到元素 " << target << std::endl;
}
return 0;
}
```
在上述代码中,我们首先使用迭代器遍历vector并输出每个元素。然后,我们使用`push_back()`函数向vector中添加一个新元素,并再次遍历并输出vector,以展示元素的增加效果。接下来,我们使用迭代器删除vector中的第三个元素,并再次遍历并输出vector,以展示元素的删除效果。然后,我们使用迭代器修改vector中的第二个元素,并再次遍历并输出vector,以展示元素的修改效果。最后,我们使用`std::find()`函数查找vector中是否存在特定的元素,并根据查找结果输出相应的信息。
请注意,为了使用`std::find()`函数,我们需要包含`<algorithm>`头文件。此外,为了简化代码,我们在每个操作之后都重新遍历并输出了vector,实际应用中可以根据需求选择性地进行操作和输出。
阅读全文