二分探索木に項目を挿入しようとしていますが、エラーが発生し、その理由がわかりません。実行しようとすると:
(insert 11 '(5 '() '()))
エラーは次のとおりです。
. . >: contract violation
expected: real?
given: quote
argument position: 2nd
other arguments...:
11
メインコード:
(define (node tree)
(car tree))
(define (right-branch tree)
(caddr tree))
(define (left-branch tree)
(cadr tree))
(define (make-tree node left-branch right-branch)
(list node left-branch right-branch))
(define (insert e tree)
(cond((null? tree) (make-tree e '() '()))
((> e (node tree))(make-tree (node tree) (left-branch tree) (insert e (right-branch tree))))
((< e (node tree))(make-tree (node tree) (insert e (left-branch tree)) (right-branch tree)))))
エラーは、問題のあるコードとして (> e (ノード ツリー)) を明確に指摘しています。ここで何が起こっているか知っている人はいますか?