강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

plustempo님의 프로필 이미지
plustempo

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

우선순위 큐 마무리

CompareTo 관련 질문

작성

·

394

0

우선순위 큐 내용 중 작은 순서대로 출력하는 내용입니다.

강의에서는

return Id > other.Id ? 1 : -1; 요렇게 된 상태에서

컴파일했을 때 작은 순서대로 나왔는데

 

막상 제가 해보니 큰 숫자대로 나왔습니다.

 

public int CompareTo(Knight other)

{

if (Id == other.Id)

return 0;

return Id > other.Id ? -1 : 1;

}

그래서 이렇게 하거나

아니면 return Id < other.Id ? 1 : -1;

이렇게 반대로 해야 작은 숫자부터

출력이되는데

 

왜 이런 차이가 발생했는지 알고싶습니다

 

 

 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

내부적으로 정렬할 때 CompareTo를 호출하고 int 부호를 보고 정렬을 할텐데,
그에 따라 방향을 맞춰주시면 됩니다.
고해성사를 하자면 저도 늘 +1인지 -1인지
헷갈려서 둘 중 하나로 예상한 결과가 아니면 바꾼답니다.
왜 강의랑 다른지 여부는 전체 코드를 봐야 알 수 있을 것 같네요.

plustempo님의 프로필 이미지
plustempo

작성한 질문수

질문하기