如果列表是另一个列表的子列表,需要帮助编写代码检查吗?

时间:2015-03-16 04:28:04

标签: list recursion scheme racket sublist

我正在研究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 个答案:

答案 0 :(得分:1)

您将cons用于所有事情。在某些地方,您需要将其替换为carfirst,而将其替换为cdrrest

cons的唯一目的是创建新的利弊单元/将新项目添加到列表中。