인프런 커뮤니티 질문&답변
연산자 오버로딩 관련 질문입니다.
작성
·
200
1
bool operator<( const CostEdge& other) const
{
return cost < other.cost;
}
벡터안에서 구조체 자료들의 정렬을 위해 연산자 오버로딩을
위처럼 했을때는 , cost < other.cost가 True가 되게끔 작은수가 앞에오고 큰 cost가 뒤로 가게끔 정렬되는걸로 알고있습니다.
이번 강의에서도 똑같이 복붙을 하여 사용하였는데 ,
우선순위큐에서는 위의 오버로딩이 True가 되는 조건이 우선순위가 높아져 큰 수가 앞에오고 작은 수가 뒤로가는 내림차순으로 구현되어 동작되는 걸로 알고있는데 , 제가 잘못 알고있는걸까요 ?
답변 1
1
Rookiss
지식공유자
말씀하신게 맞습니다.
cost 부호를 > 로 바꾸거나,
값을 넣을 때 음수처리를 해서 복원하거나,
pq 사용 시 greater를 사용하는 등의 방법으로 수정이 필요합니다.
확인해주셔서 감사합니다!





