#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
std::cout << "Forward iteration: ";
for (auto it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
std::cout << "Reverse iteration: ";
for (auto rit = numbers.rbegin(); rit != numbers.rend(); ++rit) {
std::cout << *rit << " ";
}
std::cout << std::endl;
// Using reverse iterators with algorithms
std::cout << "Reverse sorted: ";
std::sort(numbers.rbegin(), numbers.rend());
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}