Мне нужно сделать функцию булевой для оценки два списка, например:булева функции подсписка в схеме
(define list1 '((1 2) (4 5) (8 6) (2 8)))
(define list2 '((1 2) (8 6)))
list2
является подсписком list1
, и должна вернулась #t
, но я не знаю, как сделать это, я стараюсь с помощью этой функции для сравнения двух список
(define (sublist? lst1 lst2)
(if (null? lst2)
#f
(if(list? (car lst2))
(sublist? lst1 (car lst2))
(if (and(equal? car(lst1) (car lst2)) (equal? cdr(lst1) (car lst2)))
#t (sublist? lst1 (cdr lst2))))))
помощь :(
возможно дубликат [Есть ли способ проверить, если все элементы списка содержатся в другом списке ракетку?] (Http://stackoverflow.com/questions/29322565/is-there-a- way-to-check-if-all-elements-of-a-list-are-contains-in-another-list) –