2015-03-16 2 views
0

Я работаю над программой в DrRacket, которая проверяет, где список натуральных чисел, lst1, является подсписью другого списка натуральных чисел, lst2. До сих пор у меня есть,Нужна помощь в написании кода, если список является подсписком другого списка?

(define (sublist? lst1 lst2) 
    (cond 
    [(or (not (cons? lst2)) (empty? lst2)) false] 
    [(or (equal? lst1 (cons lst2)) (sublist? lst1 (cons lst2))) true] 
    [else (sublist? lst1 (cons lst2))])) 
+1

http://stackoverflow.com/questions/10822537/homework-sublist-checking-if-an-item-is-a-sublist-of-the-first-one – soegaard

+0

http://stackoverflow.com/questions/28776363/recursive-sublist-function/28778343 # 28778343 также – WorBlux

ответ

1

Вы используете cons для всего. В некоторых местах вам необходимо заменить его car или first, а в других - cdr или rest.

Единственная цель cons - создать новые ячейки cons или добавить новый элемент в список.