嘿,夥計們,我有一個家庭作業問題,讓我感到無法接受!我應該創建索引最少的,將採取非空列表並返回列表中最小數字的索引。 (car ls)= 0的索引,(car(cdr ls))的索引= 1,依此類推。在列表中找到一個數字的位置
需要創建一個助手來跟蹤當前位置,最小位置,最小值和列表。到目前爲止,我有這個程序(不加載),顯示基本算法..但我很難跟蹤一切,並將其放入chez scheme代碼。
(define index-helper
(lambda (ls current-position least-position least-value)
(if (> (car ls) least-value)
(add1 (car ls (cdr ls (add1 current-position))))
(car ls (cdr ls (add1 current-position))))))
;trace
;ls: (4231) c-pos: 0 least-value: 5 least-pos: 0
;ls: (231) c-pos: 1 least-value: 4 least-pos: 1
;ls: (31) c-pos 2 least-value: 2 least-pos: 2
;ls: 1 c-pos: 3 l-v: 2 l-pos: 2
;ls '() c-pos: 4 l-v: 1 l-pos: 4
;*least-position = current-position
我已經用Google搜索,發現這個在Python類似的問題,但我不明白的代碼,因爲我是新來編程。 :P 如果有人能給我一個提示,我會非常感激!
如何在問#scheme呢?我不認爲教練希望他們的作業問題像這樣在Google上顯示出來。 – erjiang 2011-02-24 02:33:23
@erjiang:IRC convos也不會登錄嗎? ;-) – 2011-02-24 05:02:18
@Yasir:哈哈,是的,但是SO已經做了很多SEO。 – erjiang 2011-02-26 17:28:12