vector容器的遍历
时间: 2023-12-10 19:25:28 浏览: 78
对于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容器遍历输出
在C++中,`vector`是STL(Standard Template Library)的一个容器类,它是一个动态数组,可以存储任意类型的元素,并且能够自动管理内存。遍历并输出`vector`容器中的元素是一个常见的操作,可以通过多种方式实现,以下是一些常见的遍历输出方法:
1. 使用范围for循环(Range-based for loop):
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
for (int i : v) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
2. 使用迭代器(Iterator):
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
for (auto it = v.begin(); it != v.end(); ++it) {
cout << *it << " ";
}
cout << endl;
return 0;
}
```
3. 使用下标访问(Index Access):
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
for (size_t i = 0; i < v.size(); ++i) {
cout << v[i] << " ";
}
cout << endl;
return 0;
}
```
4. 使用基于指针的数组遍历方式(C风格):
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
for (int* p = v.data(); p != v.data() + v.size(); ++p) {
cout << *p << " ";
}
cout << endl;
return 0;
}
```
以上方法中,推荐使用范围for循环和迭代器的方式,因为它们更为现代和安全,且迭代器方式在遍历STL容器时能够提供更多的灵活性。
c++vector容器循环遍历 c++vector容器循环遍历
在 C++ 中,`std::vector` 是一个动态数组,常用于存储同类型的元素。要遍历 `vector` 容器,你可以使用 for 循环或者迭代器。以下是两种常见的遍历方法:
1. **Using a For Loop:**
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 遍历整个 vector
for (size_t i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
std::cout << "\n";
return 0;
}
```
在这个例子中,我们通过索引 `i` 来访问每个元素。
2. **Using an Iterator:**
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::vector<int>::iterator it;
// 使用迭代器遍历
for (it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
std::cout << "\n";
return 0;
}
```
这里使用 `vec.begin()` 和 `vec.end()` 获取迭代器范围,`*it` 表示当前迭代到的元素。
阅读全文