vector容器的遍历
时间: 2023-12-10 17:25:28 浏览: 34
对于vector容器的遍历,常见的方法有使用迭代器或者使用范围-based for循环。下面是两种示例:
1. 使用迭代器进行遍历:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用迭代器进行遍历
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
```
2. 使用范围-based for循环进行遍历:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用范围-based for循环进行遍历
for (int num : vec) {
std::cout << num << " ";
}
return 0;
}
```
这两种方法都可以用来遍历vector容器中的元素,选择哪种方式取决于个人偏好和具体情况。
相关问题
遍历vector容器
遍历vector容器有多种方法可以实现。首先,可以使用下标访问元素的方式进行遍历。通过使用for循环和下标变量,可以依次访问vector容器中的每个元素并进行操作。例如,可以使用`obj[i]`来访问第i个元素。
其次,可以使用迭代器(iterator)进行遍历。通过使用`vector<int>::iterator`类型的迭代器,可以遍历整个vector容器,并通过`*it`来访问迭代器所指向的元素。例如,可以使用以下代码进行迭代器遍历:
```
for(vector<int>::iterator it = obj.begin(); it != obj.end(); it++) {
cout << *it << ",";
}
```
此外,还可以使用基于范围的for循环进行遍历。在C++11中引入的这种循环方式可以更简洁地遍历vector容器中的元素。例如,可以使用以下代码进行基于范围的for循环遍历:
```
for(auto iter : obj) {
cout << iter << ",";
}
```
最后,也可以使用成员函数`at()`进行访问。与使用下标类似,可以通过`obj.at(i)`来访问第i个元素。不同的是,当索引超出范围时,`at()`会抛出异常,因此更加安全。例如,可以使用以下代码进行基于`at()`的遍历:[2]
```
for(int i=0; i<obj.size(); i++) {
cout << obj.at(i) << ",";
}
```
这些是遍历vector容器的几种常见方法,根据具体情况选择适合的方法进行遍历。
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函数遍历