STL 컨테이너는 반복자를 통해
거의 동일한 코드로 내부 구현에 의존하지 않고 순회할 수 있다
아래 작성된 초기화된 벡터와 맵을
순방향 반복자와 역방향 반복자를 활용해서
출력하는 코드를 작성하기:
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main() {
// 벡터와 맵 데이터 정의
vector<int> vec = { 10, 20, 30, 40, 50 };
map<string, int> mp = {
{"Alice", 90},
{"Bob", 85},
{"Charlie", 95}
};
// 문제: 아래 부분을 완성하세요
return 0;
}

#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main() {
// 벡터와 맵 데이터 정의
vector<int> vec = { 10, 20, 30, 40, 50 };
map<string, int> mp = {
{"Alice", 90},
{"Bob", 85},
{"Charlie", 95}
};
// 문제: 아래 부분을 완성하세요
// 벡터 출력
cout << "Vector:\n";
cout << "[Forward]: ";
for (vector<int>::const_iterator it = vec.begin(); it != vec.end(); ++it) {
cout << *it << " ";
}
cout << endl;
cout << "[Backward]: ";
for (vector<int>::const_reverse_iterator rit = vec.rbegin(); rit != vec.rend(); ++rit) {
cout << *rit << " ";
}
cout << endl;
// 맵 출력
cout << "\nMap:\n";
cout << "[Forward]: ";
for (map<string, int>::const_iterator it = mp.begin(); it != mp.end(); ++it) {
cout << "(" << it->first << ", " << it->second << ") ";
}
cout << endl;
cout << "[Backward]: ";
for (map<string, int>::const_reverse_iterator rit = mp.rbegin(); rit != mp.rend(); ++rit) {
cout << "(" << rit->first << ", " << rit->second << ") ";
}
cout << endl;
return 0;
}