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