我已經寫了一個函數來從嵌套列表中獲取最大值,我有右下角函數的一般形式;它適用於平面列表和嵌套列表,但在有兄弟嵌套列表時似乎失敗。子列表上最大的方案
這裏是我的代碼:
(define (multi-max array)
(cond
((null? array) 0)
((number? (car array))
(if (> (car array) (multi-max (cdr array)))
(car array)
(multi-max (cdr array))))
((pair? (car array))
(multi-max (car array)))
(else
(multi-max (cdr array)))))
這裏是它未能在測試列表:(multi-max '(1 9 83 9 (332 (334) (2 3 4224))))
我不知道我要去哪裏錯了,從邏輯上講,一些幫助將是不錯!
這個問題是絕對乞求設計食譜的應用(參見http://www.htdp.org/)。具體來說:您輸入的數據定義是什麼? – 2010-01-11 22:37:42