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>
#include <algorithm>
using namespace std;
int main()
{
// 벡터와 맵 데이터 정의
vector<int> vec = { 10, 20, 30, 40, 50 };
map<string, int> mp =
{
{"Alice", 90},
{"Bob", 85},
{"Charlie", 95}
};
// 문제: 아래 부분을 완성하세요
cout << "벡터 순방향 반복자 출력: ";
sort(vec.begin(), vec.end()); // 순방향으로 정렬
for (int a : vec) // a에 vec의 왼쪽 값부터 넣어서 출력
{
cout << a << " ";
}
cout << endl;
cout << "벡터 역방향 반복자 출력: ";
sort(vec.rbegin(), vec.rend()); // 역방향으로 정렬
for (int a : vec)
{
cout << a << " ";
}
cout << endl;
cout << "맵 순방향 반복자 출력" << endl;
for (auto i = mp.begin(); i != mp.end(); ++i)
{
cout << i->first << ", " << i->second << endl;
}
cout << "맵 역방향 반복자 출력" << endl;
for (auto i = mp.rbegin(); i != mp.rend(); ++i)
{
cout << i->first << ", " << i->second << endl;
}
}
'숙제' 카테고리의 다른 글
C++ 숙제 (영화 데이터를 관리하는 프로그램) (0) | 2025.08.21 |
---|---|
C++ 숙제(SOLID원칙을 적용한 Student 클래스 구현) (0) | 2025.08.21 |
C++ 숙제(오버로딩 된 함수 템플릿으로 변경하기) (1) | 2025.08.19 |
C++ 숙제(메모리 누수 발생 코드 분석하고 보완하기, 스마트 포인터를 활용한 로그분석기 구현) (0) | 2025.08.19 |
C++ 2번 과제(전직 시스템과 전투 시스템) (0) | 2025.08.18 |