是的,C++中的容器和数组都支持逆序遍历。可以使用逆向迭代器或者简单地从最后一个元素开始向前遍历来实现逆序遍历。例如,对于一个数组arr,可以使用以下方式来进行逆序遍历:
int arr[] = {1, 2, 3, 4, 5};
// 使用逆向迭代器进行逆序遍历
for (auto it = std::rbegin(arr); it != std::rend(arr); ++it) {
std::cout << *it << " ";
}
// 从最后一个元素开始向前遍历
for (int i = 4; i >= 0; --i) {
std::cout << arr[i] << " ";
}
对于STL容器,也可以使用rbegin()
和rend()
函数获取逆向迭代器进行逆序遍历。例如,对于一个vector:
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用逆向迭代器进行逆序遍历
for (auto it = vec.rbegin(); it != vec.rend(); ++it) {
std::cout << *it << " ";
}