vector迭代方法
时间: 2023-11-08 09:01:16 浏览: 54
引内容中涉及到了vector容器及其迭代器的用法。在C++中,vector是一种动态数组,可以在运行时调整大小。而迭代器是一种指向容器元素的指针,可以用来访问和处理容器中的元素。
关于vector的迭代方法,可以使用begin()和end()函数获取容器的起始和结束位置的迭代器,然后使用循环结构遍历容器中的元素。具体的代码示例如下:
```cpp
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
// 使用迭代器遍历vector
vector<int>::iterator it;
for (it = v.begin(); it != v.end(); ++it) {
cout << *it << " ";
}
cout << endl;
```
上述代码中,使用了for循环和迭代器it来遍历vector容器v中的元素。迭代器it的初值为v.begin(),表示容器的起始位置;条件为it != v.end(),表示迭代器it未达到容器的结束位置;每次循环后,通过++it将迭代器it移动到下一个元素;在循环体内,使用*it来解引用迭代器,获取当前元素的值。
相关问题
vector迭代器遍历
vector的迭代器遍历可以使用示例代码中的`traverseVector_2`方法来实现。该方法通过使用迭代器来遍历vector容器中的元素。在这个方法中,我们首先定义一个迭代器`it`,将其初始化为容器的起始位置`v.begin()`,然后通过循环遍历直到迭代器到达容器的末尾位置`v.end()`。在每次循环中,我们通过`(*it)`来获取当前迭代器指向的元素,并将其输出。最后,我们在循环结束后输出换行符以表示遍历完成。
因此,你可以使用`traverseVector_2`方法来实现vector的迭代器遍历,具体代码如下所示:
```
#include <iostream>
#include <vector>
using namespace std;
// vector容器遍历方式2 —— 迭代器遍历
void traverseVector_2(vector<int> v) {
vector<int>::iterator it = v.begin();
for(; it != v.end(); it++) {
cout<<(*it)<<" ";
}
cout<<endl;
}
int main() {
vector<int> v = {1, 2, 3, 4, 5};
traverseVector_2(v);
return 0;
}
```
以上代码中,我们定义了一个vector容器`v`,并将其初始化为包含整数1到5的元素。然后,我们调用`traverseVector_2`方法,并将vector作为参数传入,实现了迭代器遍历。最终的输出结果应该是`1 2 3 4 5`,表示成功遍历了vector容器中的所有元素。
引用:
: 示例代码
: vector容器遍历方式1 —— 下标遍历
: vector容器遍历方式3 —— cpoy函数遍历
vector 反向迭代器
vector的反向迭代器是一种用于逆序遍历vector容器的迭代器。它可以从容器的最后一个元素开始,依次向前遍历到第一个元素。下面是vector反向迭代器的实现方法:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用rbegin()和rend()函数获取反向迭代器的起始和结束位置
std::vector<int>::reverse_iterator rit;
for (rit = vec.rbegin(); rit != vec.rend(); ++rit) {
std::cout << *rit << " ";
}
return 0;
}
```
输出结果为:5 4 3 2 1,即逆序输出了vector容器中的元素。