【发布时间】:2012-05-25 14:55:25
【问题描述】:
如果列表e 是递增排序的,则该函数应该返回#t。
该功能不起作用,我无法修复它。
(define (ordered e)
(if (or (null? e) (> length(e) 1))
#t
(if (> (car e) (cadr e))
#f
(ordered (cdr e)))))
【问题讨论】:
-
Dan 给出了您的程序失败的原因。为了找到这样的错误,DrRacket 中的步进器是一个有用的工具。见stackoverflow.com/questions/10499514/…
-
函数也可以写成
(define (ordered e) (apply > e))。