0
能否请你帮我一个函数,我需要在树中找到前辈,但是它会返回一个空列表,如何在不使用“set!”的情况下返回前辈。如何在Tree中找到前辈
(define (predecessor val tree)
(cond ((null? tree) (node tree)) ; If the set is null result is predecessor
((> val (node tree)) (predecessor val (right-branch tree))); if val is greater
((< val (node tree)) (predecessor val (left-branch tree))))) ; if val is lesser
(define (node tree)
(car tree))
(define (left-branch tree)
(cadr tree))
(define (right-branch tree)
(caddr tree)))
什么是您正在测试的数据?而且我不确定你可以在第一个cond子句中得到一个空列表。 – Ivancho 2014-11-23 08:32:08