vector 能用it逆序遍历么?请给我代码
时间: 2024-09-28 11:16:18 浏览: 39
从尾到头打印链表.md
Vector(在C++标准库中称为std::vector)是可以逆序遍历的,但直接用迭代器`it`从尾部开始向前遍历并不常见,因为`std::vector`本身提供了便捷的成员函数如`rbegin()`和`rend()`来访问元素的起始和结束迭代器,它们指向的是向后倒数第一个元素。
以下是使用`reverse_iterator`(逆序迭代器)逆序遍历`std::vector`的示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec {1, 2, 3, 4, 5}; // 创建一个整型vector
// 获取逆序迭代器
auto rit = vec.rbegin();
for (auto it = rit; it != vec.rend(); ++it) {
std::cout << *it << " "; // 输出元素,从后往前
}
return 0;
}
```
在这个例子中,`rit`是`vec`的逆序开始迭代器,然后通过`++it`逐个取出并打印逆序的元素。
阅读全文