(define (merge-sorted lst1 lst2)
(cond ((null? lst1) lst2)
((null? lst2) lst1)
((>= (car lst1) (car lst2))
(cons (car lst2) (merge-sorted lst1 (cdr lst2))))
(else
(cons (car lst1) (merge-sorted (cdr lst1) lst2)))))
Output:
(merge-sorted '(1 3 4) '(2 4 5))
=> '(1 2 3 4 4 5)
Scheme의 목록에 함수를 써야합니다. 중복을 어떻게 해결할 수 있습니까?Scheme 함수에서 중복 제거
병합 프로시 저는 중복을 보존해야한다는 것을주의하십시오. 괜찮 으면 제거 할 필요가 있지만 병합 정렬을위한 도우미 프로 시저로 사용하는 경우 시작 부분보다 적은 요소로 끝나는 것은 잘못된 것입니다. –