function selectionSort(a, cmp) {
for (let i = 0; i < a.length; i++) {
let m = i;
for (let j = i + 1; j < a.length; j++) {
if (cmp(a[m], a[j]) > 0) {
m = j;
}
}
let t = a[i];
a[i] = a[j];
a[j] = t;
}
return a;
}
그리고 compare 함수가 저런 형식을 취할 때 좋은 점은 compare 함수 호출 한번과
비교 연산자를 일대일 대응 시킬 수 있다는 겁니다.
a == b; cmp(a, b) == 0
a != b; cmp(a, b) != 0
a < b; cmp(a, b) < 0
a > b; cmp(a, b) > 0
a <= b; cmp(a, b) <= 0
a >= b; cmp(a, b) >= 0
2개의 좋아요
ⓒ 자바스크립트 개발자 포럼 | 상호명 및 호스팅 서비스 제공 : 손수 | 대표 : 정현주 | 경기도 화성시 동탄장지천3길 10 | 사업자 등록번호 : 365-58-00109 | 통신판매업신고 : 2024-화성동탄-1006