Scheme 插入到二元搜索树时出现合同冲突错误

Scheme 插入到二元搜索树时出现合同冲突错误,scheme,racket,Scheme,Racket,我试图将一个项目插入到二元搜索树中,但我遇到了一个错误,我不明白为什么。 如果我尝试运行: (insert 11 '(5 '() '())) 错误是: . . >: contract violation expected: real? given: quote argument position: 2nd other arguments...: 11 主要代码: (define (node tree) (car tree)) (define (right

我试图将一个项目插入到二元搜索树中,但我遇到了一个错误,我不明白为什么。 如果我尝试运行:

(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)))))
(定义(节点树)
(汽车树)
(定义(右分支树)
(caddr树)
(定义(左分支树)
(cadr树)
(定义(使树节点左分支右分支)
(列表节点左分支右分支))
(定义(插入e树)
(cond((空?树)(使树e’()’())
((>e(节点树))(生成树(节点树)(左分支树)(插入e(右分支树)))
((
错误明确指出(>e(节点树))是有问题的代码。 有人知道这里发生了什么吗?

如果你重复引用,试试看

(insert 11 '(5 () ()))

这是引用空列表的习惯。。。不客气;-)