map을 key값이 아닌 value 기준으로 정렬해봅니다.
map의 요소들을
value
값을 기준으로 정렬해봅니다.
Map의 기본 정렬상태
map은
key
값을 기준으로 오름차순 정렬되어 있습니다.
- 내림차순으로 정렬하기를 원한다면
- key값이 int 인경우 맵을 선언시
gretaer<int>
비교 함수를 넣어주면 됩니다.
value값으로 정렬하기
정확히는
map
을 정렬하는 것이 아니고, map의 요소들을value
값을 기준으로 정렬합니다.
- 두단계로 진행이 되어야합니다.
- [1]
map
을vector
로 이동 - [2]
vector
를 second 기준으로 정렬
map을 vector로 이동
map의 key value가
<int, int>
일때
1 |
|
value 기준 비교 함수 작성
map의 key value가
<int, int>
일때
1 |
|
정렬
map의 key value가
<int, int>
일때
1 |
|
예제 코드
1 |
|
결과
1 |
|
Reference
- http://www.cplusplus.com/reference/