我试图找出一个排序列表之间的两个数字相差最小,所以我WIRTE无法弄清楚什么是错的“排序”
(define (smallest-dif lst)
(cond
[(empty? lst) empty]
[(empty? (rest lst)) (smallest-dif (rest lst))]
[else (first (sort (cons (-(second lst) (first lst)) (smallest-dif (rest lst))) <))]))
我的例子是:(最小-DIF '(5 500 505 600 650 10000)) 但drracket告诉我这样:排序:违反合同 预计:列表? 给出:'(50.9350)
我不知道我的代码有什么问题。如果我拿出“第一”,程序可以正常运行。 任何人都可以帮助我吗?谢谢。
Aww,没想到这一点。非常感谢。 – user2185071