如果你有一个清单((1 4 5)5(6 2 5)),和另一个清单(5 1 3 7 5(9 2 4)),我需要编写一个程序来比较第一个列表,并看看他们是否在第二。例如,(1 4 5)在(5 1 3 7 5(9 2 3))中出现0次。 5在该列表中出现2次,并且(9 2 4)出现0次。所以列表将返回(0 2 0)比较列表中的项目?方案
我需要帮助编写一个计划程序频率,它需要两个列表,第一个是每个组件比较的程序频率,第二个是计算第一个列表的出现。该过程应该返回出现的列表。
到目前为止,我已被告知要制作两个程序,一个用于统计每个项目的出现次数(计数器),另一个用于记录列表(频率)中的出现次数(计数器)。我到目前为止已经做到了这一点:
(define (counter ele lst)
`(cond ((null? lst) `
'())
`((equal? ele lst)`
`(+ 1 (counter ele (cdr lst))))`
`(else`
`(counter ele (cdr lst)))))`
(define (frequency els lst)
`(if (null? els)`
`'()`
`(cons <???>`
`(frequency <???> lst))))`
我不知道该怎么与频率的程序是什么,以及如何从它调用的程序计数器
谢谢!
可能重复的[比较列表中的项目](http://stackoverflow.com/questions/13233232/comparing-items-in-a-list) –
我不能相信这一点。上次你发布这个问题时,我给你提供了解决这个问题的所有必要提示,而且你还没有尽力尝试!你刚刚发布了_我自己的答案_希望别人填补你的空白! –
你已经或多或少地用英文描述了什么应该填补空白。你的下一个任务不会因为你通过这一个作弊而变得更轻松。 – molbdnilo