25.06.09 (4) - 추가학습

김영하·2025년 6월 9일

C++

목록 보기
23/32

반복자를 활용하여 각 컨테이너를 순회

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;
}
profile
내일배움캠프 Unreal 3기

0개의 댓글