如果你有一個清單((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