我已经写了一个函数来从嵌套列表中获取最大值,我有右下角函数的一般形式;它适用于平面列表和嵌套列表,但在有兄弟嵌套列表时似乎失败。子列表上最大的方案
这里是我的代码:
(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