2
我在寻找两个相等长度的列表,并返回列表不相等的所有索引列表。例如,如果我放入("orange" "yellow" "green" "green")
和("orange" "green" "yellow" "green")
,我期望返回(1 2)
((假设列表索引从0开始在方案中))。在列表中的所有索引处检查是否相等
我应该怎么办?
我在寻找两个相等长度的列表,并返回列表不相等的所有索引列表。例如,如果我放入("orange" "yellow" "green" "green")
和("orange" "green" "yellow" "green")
,我期望返回(1 2)
((假设列表索引从0开始在方案中))。在列表中的所有索引处检查是否相等
我应该怎么办?
我就给你需要做什么的总体思路,我会让你找出细节 - 我不想破坏你的家庭作业:
(define (unequal-indexes lst1 lst2)
(unequal-aux lst1 lst2 XXX1))
(define (unequal-aux l1 l2 idx)
(cond ((null? l1)
XXX2)
((equal? (car l1) (car l2))
XXX3)
(else
XXX4)))
第一,你必须意识到你需要一种方法来跟踪你所处的索引。为此,我定义了一个辅助程序unequal-aux
,它从主程序unequal-indexes
中调用。在上面的代码中,填充在毛坯:
当然的指数,现在你必须知道,一个列表由cons
建立每个元素-ing到列表中的其余部分,直到我们到达空(NULL)名单。
这功课吗?到目前为止你做了什么? - 先显示一些努力!另一件事,你的例子与你写的内容相矛盾:(0 3)是列表中的元素彼此相等的索引 –
这不完全是家庭作业。这个问题本身没有分配。我正在试图编写一个程序来做到这一点,以便解决一些分配给作业的东西。我不知道如何做到这一点,这就是为什么我问我该怎么做。如果你没有什么可以帮助解决这个问题,你不需要评论。 – user1023010