vector迭代器的用法
时间: 2023-10-28 11:00:51 浏览: 110
使用迭代器可以更方便地解引用和访问vector容器中的元素。在C++中,我们可以通过vector的begin()和end()函数获取迭代器的起始和结束位置。例如,使用vector<int>的迭代器可以这样声明: vector<int>::iterator itertemp; 然后,我们可以使用find函数来查找vector中的特定元素,例如find(vec.begin(), vec.end() , 5)可以用来查找vec容器中值为5的元素,并将其赋值给itertemp。
除了查找元素,迭代器还可以用来遍历vector容器中的元素。例如,我们可以通过迭代器来访问二维vector容器中的元素。首先,我们需要声明一个二维vector的迭代器,例如vector<vector<int> >::iterator iter=array.begin()。然后,使用while循环来遍历每一行,再在内层使用另一个迭代器来遍历每一行中的元素,例如,vector<int>::iterator iter_=(*iter).begin()。通过解引用迭代器,我们可以访问并输出每一个元素的值,例如,cout <<*iter_<<" "。最后,记得在每一轮迭代结束后,迭代器要递增一次,例如iter_++和iter++。
总结起来,vector迭代器的用法包括查找特定元素和遍历容器中的元素。我们可以使用begin()和end()函数来获取迭代器的起始和结束位置,并通过解引用迭代器来访问元素的值。
相关问题
vector迭代器用法
vector迭代器用于遍历vector容器中的元素。可以使用迭代器来访问和修改vector中的元素。以下是vector迭代器的用法示例:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用迭代器遍历vector并输出元素
std::cout << "遍历vector并输出元素:" << std::endl;
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
// 使用迭代器修改vector中的元素
std::cout << "修改vector中的元素:" << std::endl;
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
*it = *it * 2;
}
// 再次使用迭代器遍历vector并输出修改后的元素
std::cout << "遍历vector并输出修改后的元素:" << std::endl;
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果:
```
遍历vector并输出元素:
1 2 3 4 5
修改vector中的元素:
遍历vector并输出修改后的元素:
2 4 6 8 10
```
vector迭代器,输入迭代器、前向迭代器、双向迭代器和随机迭代器
vector是C++ STL中的一个容器,它可以动态地增加或减少元素。而迭代器是一种访问容器中元素的方法,它类似于指针,可以指向容器中的元素。根据迭代器的功能和特性,可以将迭代器分为四种类型:输入迭代器、前向迭代器、双向迭代器和随机迭代器。
1. 输入迭代器
输入迭代器是最基本的迭代器类型,它只能用于读取容器中的元素,不能修改元素的值。输入迭代器只能向前移动,不能后退,也不能重复遍历容器。例如,可以使用istream_iterator来读取输入流中的数据。
2. 前向迭代器
前向迭代器可以读取容器中的元素,也可以修改元素的值。前向迭代器可以向前移动,但不能后退,也不能重复遍历容器。例如,可以使用forward_list的迭代器来遍历链表。
3. 双向迭代器
双向迭代器可以读取容器中的元素,也可以修改元素的值。双向迭代器可以向前或向后移动,但不能跳跃式地移动,也不能重复遍历容器。例如,可以使用list的迭代器来遍历链表。
4. 随机迭代器
随机迭代器是最强大的迭代器类型,它可以读取容器中的元素,也可以修改元素的值。随机迭代器可以向前或向后移动,也可以跳跃式地移动,还可以重复遍历容器。例如,可以使用vector的迭代器来遍历动态数组。
阅读全文