[go] Sort 패키지의 비교 함수의 규칙
비교 함수는 두 인덱스 i
와 j
의 요소를 받아서 다음 규칙을 따라야 합니다:
- 만약 슬라이스 내의
i
번째 값이j
번째 값보다 작다면,i
번째 값 앞에j
번째 값이 있어야 합니다. - 만약 슬라이스 내의
i
번째 값이j
번째 값과 같다면,i
번째 값과j
번째 값의 순서는 변하지 않아야 합니다.
비교 함수는 이러한 규칙을 지키지 않으면 정렬이 올바르게 이루어지지 않을 수 있습니다.
func lessFunc(i, j int) bool {
return data[i] < data[j]
}
sort.Slice(data, lessFunc)
만일 lessFunc
가 위의 규칙을 따른다면 sort.Slice
함수는 이 비교 함수를 이용하여 슬라이스를 정렬할 것입니다.
- 더 자세한 내용은 Go 언어 공식 문서를 참고하세요.