c++中,遍历Vector
时间: 2024-12-18 15:31:58 浏览: 21
在C++中,遍历`std::vector`通常涉及到迭代器的使用。`std::vector`是一个动态数组,你可以通过多种方式遍历它:
1. **普通循环**:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
```
2. **范围-for循环**(C++11开始支持):
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
for (auto element : vec) {
std::cout << element << " ";
}
```
3. **迭代器遍历**:
```cpp
std::vector<int>::iterator it;
for (it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
```
这里`vec.begin()`返回向量的第一个元素的迭代器,`vec.end()`返回一个只比向量最后一个元素前一个位置更远的迭代器。
相关问题
c++反向遍历vector
要在C++中反向遍历vector,可以使用逆置迭代器。逆置迭代器可以通过使用rbegin()和rend()方法来获取,它们分别指向vector的最后一个元素和第一个元素之前的位置。然后,可以使用逆置迭代器进行遍历并访问vector中的元素。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用逆置迭代器进行反向遍历
for (std::vector<int>::reverse_iterator it = vec.rbegin(); it != vec.rend(); ++it) {
std::cout << *it << " ";
}
return 0;
}
```
输出结果将会是:5 4 3 2 1。在这个示例中,我们使用rbegin()获取逆置迭代器的起始位置,使用rend()获取逆置迭代器的结束位置,并使用++it进行迭代。通过访问*it来获取vector中的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [C++-vector:vector容器逆序遍历【for (auto it = v.rbegin(); it != v.rend(); it++){}】](https://blog.csdn.net/u013250861/article/details/128426362)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [C++小技巧: 集合(vector, list, map, set)的反向遍历](https://blog.csdn.net/oyoung_2012/article/details/108775566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
c++遍历vector
在C++中,有多种方法可以遍历一个vector。其中一种方法是使用迭代器的for循环。首先,你需要定义一个迭代器变量,如引用中的代码所示:
vector<int>::iterator it = v1.begin();
然后,使用for循环来遍历vector并打印出每个元素:
for (it; it != v1.end(); it++) {
cout << *it << " ";
}
cout << endl;
另一种方法是使用普通for循环,如引用中的代码所示:
for (unsigned i = 0; i < v1.size(); i++) {
cout << v1[i] << " ";
}
cout << endl;
还有一种方法是使用基于范围的for循环,如引用中的代码所示:
for (int x : v1) {
cout << x << " ";
}
cout << endl;
这些方法都可以用来遍历vector,并打印出每个元素。你可以根据自己的需要选择合适的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文