하위 목록을 구현해야합니까? 누적을 사용하는 한 줄짜리 함수로 set1이 set2에 있으면 true를 반환한다고 가정합니다. 이 같은하위 목록 구현 중입니까? 라켓에 누적 사용
뭔가 :
(define subset?
(lambda (set1 set2)
(accumulate member? (car set1) (lambda (x) x) set2)))
는 솔직히 내가 축적이 멤버 작업을 가정하는 방법에 단지 혼란 스러워요 생각, 또는 회원이 연산자도 올바른 선택 인 경우.
내 축적 기능은 다음과 같습니다
(define accumulate
(lambda (op base func ls)
(if (null? ls)
base
(op (func (car ls))
(accumulate op base func (cdr ls))))))
및 멤버?
(define member?
(lambda (item ls)
(cond ((null? ls) #f)
((equal? item (car ls)) #t)
(else (member? item (cdr ls))))))
당신이 다른 기능을 사용할 수 없습니다 :
그래서이
subset?
의 가능한 정의는? 네가 그렇지 않다면 이것은 지저분해진다. 만약 그렇다면, 먼저 'set1'요소가'set2' 멤버인지 여부를 결정하는 불리언 목록을 얻을 수있는 방법을 찾아야합니다. 그 목록은 쉽게 누적됩니다. – molbdnilo