• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

class Knight의 CompareTo 인터페이스

21.02.08 21:29 작성 조회수 175

0

Knight 클래스의 CompareTo 인터페이스에서 삼항연산자를 이용해서 Id > other.Id ? 1 : -1 라는 조건을 만드셨는데

if (_heap[now].CompareTo(_heap[next]) < 0) 를 사용하신 특별한 이유가 있을까요?

Id > other.Id 가 아닐 경우 -1이라는 특정한 값을 return 한다고 설정했다면 

if (_heap[now].CompareTo(_heap[next]) == -1) 를 사용하는게 맞지 않나 싶어서 질문드립니다.

답변 2

·

답변을 작성해보세요.

1

CompareTo에서 -1 , 0, 1을 리턴하는게 일반적이고
Knight도 그렇게 만들긴 했지만
원칙상 음수/0/양수 로 구분하기 때문에 <0으로 판별했습니다.
그런데 딱히 중요한 부분은 아니고 == -1을 해도 무방합니다.

0

안유선님의 프로필

안유선

질문자

2021.02.08

감사합니다!