[[[문제]]]
person객체에는 나이와 이름의 첫 글자가 들어있다.
이름순으로 정렬한 후 나이순으로 정렬하고, 동일한 나이에서 이름이 순서대로 유지되도록 하라.
[[[관찰]]]
1. 이니셜을 먼저 오름차순으로 정렬한다.
2. 나이를 stable_sort로 정렬한다.
3. 나이가 정렬이 된 상태이며 동일한 나이에서는 이니셜순으로 정렬되어 있는 것을 확인 가능하다.
4. 자격이 동등한 녀석들의 순서를 흩뜨러뜨리지 않는다.
무슨 뜻이냐, 이전에 이니셜을 먼저 정렬을 시켜놨기 때문에 나이를 정렬했을 때 같은 나이에서는 이니셜이 뒤죽박죽 섞이지 않는다는 것이다.
알고리즘을 공부했다면 쉽게 알 수 있다.
(간단한 예시)
이니셜 순으로 정렬했을 때
10 - a / 20 - b / 30 - d / 20 - f / 10 - q / 30 - t
이 상태로 나이순으로 stable_sort 했을 때 정말로 순서를 흩뜨리지 않는지 보자
10 - a / 10 - q / 20 - b / 20 - f / 30 - d /30 - t
결론: 뒤죽박죽 섞이지 않았다.
학습 장소: 한국공학대학교 게임공학과 수업
'---C++ 역량 강화--- > STL 공부' 카테고리의 다른 글
distance (0) | 2024.06.04 |
---|---|
copy (0) | 2024.06.04 |
uniform initialization (0) | 2024.06.03 |
string class 문자열 합치기 (0) | 2024.06.03 |
to_string, to_wstring (0) | 2024.06.03 |