std::sort()의 Compare 의미:
sort(vec.begin(), vec.end(), Compare);
- 여기서 Compare(a, b)가 true이면 → a가 b보다 앞에 와야 한다
- 즉, a < b라는 의미
→ true 리턴하면 a가 앞쪽 (우선순위 높음)
priority_queue의 Compare 의미:
priority_queue<Type, Container, Compare>
- 여기서 Compare(a, b)가 true이면 → a가 b보다 낮은 우선순위
→ a가 뒤로 밀리고, b가 top으로 올라감 - 즉, Compare는 사실상 a < b 같은 기준인데, 내부적으로 std::make_heap이 큰 값을 앞으로 오게 해주는 max-heap을 만들기 때문
'C++' 카테고리의 다른 글
| [C++] 클래스명 객체명();는 디폴트 생성자를 호출하지 않는다. (0) | 2023.02.15 |
|---|---|
| [C++] memset으로 배열 초기화 시 0,-1으로만 초기화 가능 (0) | 2023.02.07 |
| [C++] 매개변수로 이중포인터를 사용해야 할 경우 (0) | 2023.02.01 |
| [C++] 우선 순위 큐 정렬 방법 변경 (0) | 2023.01.31 |
| [C++] 부동 소수점 (0) | 2023.01.10 |